syntax: New escape block management
[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(variable[0])->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(variable[0])->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(variable[0])->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 CALL_parser_tables___ParserTable___build_goto_table(variable[3])(variable[3]) /*ParserTable::build_goto_table*/;
79 variable[3] = variable[0];
80 CALL_parser_tables___ParserTable___build_action_table(variable[3])(variable[3]) /*ParserTable::build_action_table*/;
81 variable[3] = variable[0];
82 CALL_parser___Parser___build_reduce_table(variable[3])(variable[3]) /*Parser::build_reduce_table*/;
83 return_label1: while(false);
84 init_table[VAL2OBJ(variable[0])->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] = CALL_parser___Parser___state(variable[4])(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] = CALL_abstract_collection___Collection___length( variable[4] /*table*/)( 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] = CALL_abstract_collection___Collection___length(variable[5])(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 CALL_parser___State___state__eq( variable[5] /*state*/)( variable[5] /*state*/, variable[1] /*numstate*/) /*State::state=*/;
271 CALL_parser___State___nodes__eq( variable[5] /*state*/)( 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 CALL_abstract_collection___IndexedCollection___push(variable[5])(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] = CALL_parser___State___state(variable[2])(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] = CALL_parser___State___nodes(variable[3])(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 CALL_parser___Parser___push(variable[2])(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] = CALL_lexer___Lexer___peek( variable[3] /*lexer*/)( variable[3] /*lexer*/) /*Lexer::peek*/;
376 variable[4] = variable[5];
377 variable[6] = CALL_lexer___Token___pos( variable[4] /*token*/)( variable[4] /*token*/) /*Token::pos*/;
378 variable[5] = variable[6];
379 variable[7] = CALL_lexer___Token___line( variable[4] /*token*/)( 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] = CALL_lexer___Token___parser_index( variable[4] /*token*/)( 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] = CALL_parser___Parser___state(variable[10])(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] = CALL_abstract_collection___Collection___length( variable[8] /*table*/)( 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] = CALL_lexer___Lexer___next( variable[3] /*lexer*/)( variable[3] /*lexer*/) /*Lexer::next*/;
562 CALL_parser___Parser___push(variable[13])(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 CALL_parser___ReduceAction___action(variable[13])(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] = CALL_lexer___Lexer___next( variable[3] /*lexer*/)( 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] = CALL_parser___Parser___pop(variable[15])(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 CALL_parser_prod___Visitor___visit(variable[16])(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] = CALL_lexer___Lexer___filename( variable[3] /*lexer*/)( variable[3] /*lexer*/) /*Lexer::filename*/;
610 variable[15] = variable[0];
611 variable[15] = CALL_parser_tables___ParserTable___error_messages(variable[15])(variable[15]) /*ParserTable::error_messages*/;
612 variable[16] = variable[0];
613 variable[16] = CALL_parser_tables___ParserTable___errors(variable[16])(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[658];
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(654)); /*new Array[ReduceAction]*/
679 variable[4] = NEW_ReduceAction0_parser___ReduceAction0___init(); /*new ReduceAction0*/
680 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
681 variable[5] = NEW_ReduceAction1_parser___ReduceAction1___init(); /*new ReduceAction1*/
682 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[5]) /*AbstractArray::add*/;
683 variable[6] = NEW_ReduceAction2_parser___ReduceAction2___init(); /*new ReduceAction2*/
684 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[6]) /*AbstractArray::add*/;
685 variable[7] = NEW_ReduceAction3_parser___ReduceAction3___init(); /*new ReduceAction3*/
686 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[7]) /*AbstractArray::add*/;
687 variable[8] = NEW_ReduceAction4_parser___ReduceAction4___init(); /*new ReduceAction4*/
688 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[8]) /*AbstractArray::add*/;
689 variable[9] = NEW_ReduceAction5_parser___ReduceAction5___init(); /*new ReduceAction5*/
690 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[9]) /*AbstractArray::add*/;
691 variable[10] = NEW_ReduceAction6_parser___ReduceAction6___init(); /*new ReduceAction6*/
692 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[10]) /*AbstractArray::add*/;
693 variable[11] = NEW_ReduceAction7_parser___ReduceAction7___init(); /*new ReduceAction7*/
694 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[11]) /*AbstractArray::add*/;
695 variable[12] = NEW_ReduceAction8_parser___ReduceAction8___init(); /*new ReduceAction8*/
696 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[12]) /*AbstractArray::add*/;
697 variable[13] = NEW_ReduceAction9_parser___ReduceAction9___init(); /*new ReduceAction9*/
698 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[13]) /*AbstractArray::add*/;
699 variable[14] = NEW_ReduceAction10_parser___ReduceAction10___init(); /*new ReduceAction10*/
700 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[14]) /*AbstractArray::add*/;
701 variable[15] = NEW_ReduceAction11_parser___ReduceAction11___init(); /*new ReduceAction11*/
702 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[15]) /*AbstractArray::add*/;
703 variable[16] = NEW_ReduceAction12_parser___ReduceAction12___init(); /*new ReduceAction12*/
704 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[16]) /*AbstractArray::add*/;
705 variable[17] = NEW_ReduceAction13_parser___ReduceAction13___init(); /*new ReduceAction13*/
706 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[17]) /*AbstractArray::add*/;
707 variable[18] = NEW_ReduceAction14_parser___ReduceAction14___init(); /*new ReduceAction14*/
708 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[18]) /*AbstractArray::add*/;
709 variable[19] = NEW_ReduceAction15_parser___ReduceAction15___init(); /*new ReduceAction15*/
710 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[19]) /*AbstractArray::add*/;
711 variable[20] = NEW_ReduceAction16_parser___ReduceAction16___init(); /*new ReduceAction16*/
712 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[20]) /*AbstractArray::add*/;
713 variable[21] = NEW_ReduceAction17_parser___ReduceAction17___init(); /*new ReduceAction17*/
714 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[21]) /*AbstractArray::add*/;
715 variable[22] = NEW_ReduceAction18_parser___ReduceAction18___init(); /*new ReduceAction18*/
716 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[22]) /*AbstractArray::add*/;
717 variable[23] = NEW_ReduceAction19_parser___ReduceAction19___init(); /*new ReduceAction19*/
718 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[23]) /*AbstractArray::add*/;
719 variable[24] = NEW_ReduceAction20_parser___ReduceAction20___init(); /*new ReduceAction20*/
720 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[24]) /*AbstractArray::add*/;
721 variable[25] = NEW_ReduceAction21_parser___ReduceAction21___init(); /*new ReduceAction21*/
722 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[25]) /*AbstractArray::add*/;
723 variable[26] = NEW_ReduceAction22_parser___ReduceAction22___init(); /*new ReduceAction22*/
724 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[26]) /*AbstractArray::add*/;
725 variable[27] = NEW_ReduceAction23_parser___ReduceAction23___init(); /*new ReduceAction23*/
726 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[27]) /*AbstractArray::add*/;
727 variable[28] = NEW_ReduceAction24_parser___ReduceAction24___init(); /*new ReduceAction24*/
728 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[28]) /*AbstractArray::add*/;
729 variable[29] = NEW_ReduceAction25_parser___ReduceAction25___init(); /*new ReduceAction25*/
730 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[29]) /*AbstractArray::add*/;
731 variable[30] = NEW_ReduceAction26_parser___ReduceAction26___init(); /*new ReduceAction26*/
732 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[30]) /*AbstractArray::add*/;
733 variable[31] = NEW_ReduceAction27_parser___ReduceAction27___init(); /*new ReduceAction27*/
734 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[31]) /*AbstractArray::add*/;
735 variable[32] = NEW_ReduceAction28_parser___ReduceAction28___init(); /*new ReduceAction28*/
736 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[32]) /*AbstractArray::add*/;
737 variable[33] = NEW_ReduceAction29_parser___ReduceAction29___init(); /*new ReduceAction29*/
738 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[33]) /*AbstractArray::add*/;
739 variable[34] = NEW_ReduceAction30_parser___ReduceAction30___init(); /*new ReduceAction30*/
740 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[34]) /*AbstractArray::add*/;
741 variable[35] = NEW_ReduceAction31_parser___ReduceAction31___init(); /*new ReduceAction31*/
742 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[35]) /*AbstractArray::add*/;
743 variable[36] = NEW_ReduceAction32_parser___ReduceAction32___init(); /*new ReduceAction32*/
744 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[36]) /*AbstractArray::add*/;
745 variable[37] = NEW_ReduceAction33_parser___ReduceAction33___init(); /*new ReduceAction33*/
746 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[37]) /*AbstractArray::add*/;
747 variable[38] = NEW_ReduceAction34_parser___ReduceAction34___init(); /*new ReduceAction34*/
748 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[38]) /*AbstractArray::add*/;
749 variable[39] = NEW_ReduceAction35_parser___ReduceAction35___init(); /*new ReduceAction35*/
750 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[39]) /*AbstractArray::add*/;
751 variable[40] = NEW_ReduceAction36_parser___ReduceAction36___init(); /*new ReduceAction36*/
752 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[40]) /*AbstractArray::add*/;
753 variable[41] = NEW_ReduceAction37_parser___ReduceAction37___init(); /*new ReduceAction37*/
754 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[41]) /*AbstractArray::add*/;
755 variable[42] = NEW_ReduceAction38_parser___ReduceAction38___init(); /*new ReduceAction38*/
756 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[42]) /*AbstractArray::add*/;
757 variable[43] = NEW_ReduceAction39_parser___ReduceAction39___init(); /*new ReduceAction39*/
758 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[43]) /*AbstractArray::add*/;
759 variable[44] = NEW_ReduceAction40_parser___ReduceAction40___init(); /*new ReduceAction40*/
760 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[44]) /*AbstractArray::add*/;
761 variable[45] = NEW_ReduceAction41_parser___ReduceAction41___init(); /*new ReduceAction41*/
762 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[45]) /*AbstractArray::add*/;
763 variable[46] = NEW_ReduceAction42_parser___ReduceAction42___init(); /*new ReduceAction42*/
764 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[46]) /*AbstractArray::add*/;
765 variable[47] = NEW_ReduceAction43_parser___ReduceAction43___init(); /*new ReduceAction43*/
766 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[47]) /*AbstractArray::add*/;
767 variable[48] = NEW_ReduceAction44_parser___ReduceAction44___init(); /*new ReduceAction44*/
768 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[48]) /*AbstractArray::add*/;
769 variable[49] = NEW_ReduceAction45_parser___ReduceAction45___init(); /*new ReduceAction45*/
770 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[49]) /*AbstractArray::add*/;
771 variable[50] = NEW_ReduceAction46_parser___ReduceAction46___init(); /*new ReduceAction46*/
772 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[50]) /*AbstractArray::add*/;
773 variable[51] = NEW_ReduceAction47_parser___ReduceAction47___init(); /*new ReduceAction47*/
774 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[51]) /*AbstractArray::add*/;
775 variable[52] = NEW_ReduceAction48_parser___ReduceAction48___init(); /*new ReduceAction48*/
776 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[52]) /*AbstractArray::add*/;
777 variable[53] = NEW_ReduceAction49_parser___ReduceAction49___init(); /*new ReduceAction49*/
778 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[53]) /*AbstractArray::add*/;
779 variable[54] = NEW_ReduceAction50_parser___ReduceAction50___init(); /*new ReduceAction50*/
780 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[54]) /*AbstractArray::add*/;
781 variable[55] = NEW_ReduceAction51_parser___ReduceAction51___init(); /*new ReduceAction51*/
782 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[55]) /*AbstractArray::add*/;
783 variable[56] = NEW_ReduceAction52_parser___ReduceAction52___init(); /*new ReduceAction52*/
784 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[56]) /*AbstractArray::add*/;
785 variable[57] = NEW_ReduceAction53_parser___ReduceAction53___init(); /*new ReduceAction53*/
786 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[57]) /*AbstractArray::add*/;
787 variable[58] = NEW_ReduceAction54_parser___ReduceAction54___init(); /*new ReduceAction54*/
788 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[58]) /*AbstractArray::add*/;
789 variable[59] = NEW_ReduceAction55_parser___ReduceAction55___init(); /*new ReduceAction55*/
790 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[59]) /*AbstractArray::add*/;
791 variable[60] = NEW_ReduceAction56_parser___ReduceAction56___init(); /*new ReduceAction56*/
792 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[60]) /*AbstractArray::add*/;
793 variable[61] = NEW_ReduceAction57_parser___ReduceAction57___init(); /*new ReduceAction57*/
794 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[61]) /*AbstractArray::add*/;
795 variable[62] = NEW_ReduceAction58_parser___ReduceAction58___init(); /*new ReduceAction58*/
796 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[62]) /*AbstractArray::add*/;
797 variable[63] = NEW_ReduceAction59_parser___ReduceAction59___init(); /*new ReduceAction59*/
798 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[63]) /*AbstractArray::add*/;
799 variable[64] = NEW_ReduceAction60_parser___ReduceAction60___init(); /*new ReduceAction60*/
800 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[64]) /*AbstractArray::add*/;
801 variable[65] = NEW_ReduceAction61_parser___ReduceAction61___init(); /*new ReduceAction61*/
802 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[65]) /*AbstractArray::add*/;
803 variable[66] = NEW_ReduceAction62_parser___ReduceAction62___init(); /*new ReduceAction62*/
804 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[66]) /*AbstractArray::add*/;
805 variable[67] = NEW_ReduceAction63_parser___ReduceAction63___init(); /*new ReduceAction63*/
806 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[67]) /*AbstractArray::add*/;
807 variable[68] = NEW_ReduceAction64_parser___ReduceAction64___init(); /*new ReduceAction64*/
808 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[68]) /*AbstractArray::add*/;
809 variable[69] = NEW_ReduceAction65_parser___ReduceAction65___init(); /*new ReduceAction65*/
810 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[69]) /*AbstractArray::add*/;
811 variable[70] = NEW_ReduceAction66_parser___ReduceAction66___init(); /*new ReduceAction66*/
812 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[70]) /*AbstractArray::add*/;
813 variable[71] = NEW_ReduceAction67_parser___ReduceAction67___init(); /*new ReduceAction67*/
814 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[71]) /*AbstractArray::add*/;
815 variable[72] = NEW_ReduceAction68_parser___ReduceAction68___init(); /*new ReduceAction68*/
816 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[72]) /*AbstractArray::add*/;
817 variable[73] = NEW_ReduceAction69_parser___ReduceAction69___init(); /*new ReduceAction69*/
818 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[73]) /*AbstractArray::add*/;
819 variable[74] = NEW_ReduceAction70_parser___ReduceAction70___init(); /*new ReduceAction70*/
820 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[74]) /*AbstractArray::add*/;
821 variable[75] = NEW_ReduceAction71_parser___ReduceAction71___init(); /*new ReduceAction71*/
822 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[75]) /*AbstractArray::add*/;
823 variable[76] = NEW_ReduceAction72_parser___ReduceAction72___init(); /*new ReduceAction72*/
824 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[76]) /*AbstractArray::add*/;
825 variable[77] = NEW_ReduceAction73_parser___ReduceAction73___init(); /*new ReduceAction73*/
826 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[77]) /*AbstractArray::add*/;
827 variable[78] = NEW_ReduceAction74_parser___ReduceAction74___init(); /*new ReduceAction74*/
828 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[78]) /*AbstractArray::add*/;
829 variable[79] = NEW_ReduceAction75_parser___ReduceAction75___init(); /*new ReduceAction75*/
830 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[79]) /*AbstractArray::add*/;
831 variable[80] = NEW_ReduceAction76_parser___ReduceAction76___init(); /*new ReduceAction76*/
832 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[80]) /*AbstractArray::add*/;
833 variable[81] = NEW_ReduceAction77_parser___ReduceAction77___init(); /*new ReduceAction77*/
834 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[81]) /*AbstractArray::add*/;
835 variable[82] = NEW_ReduceAction78_parser___ReduceAction78___init(); /*new ReduceAction78*/
836 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[82]) /*AbstractArray::add*/;
837 variable[83] = NEW_ReduceAction79_parser___ReduceAction79___init(); /*new ReduceAction79*/
838 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[83]) /*AbstractArray::add*/;
839 variable[84] = NEW_ReduceAction80_parser___ReduceAction80___init(); /*new ReduceAction80*/
840 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[84]) /*AbstractArray::add*/;
841 variable[85] = NEW_ReduceAction81_parser___ReduceAction81___init(); /*new ReduceAction81*/
842 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[85]) /*AbstractArray::add*/;
843 variable[86] = NEW_ReduceAction82_parser___ReduceAction82___init(); /*new ReduceAction82*/
844 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[86]) /*AbstractArray::add*/;
845 variable[87] = NEW_ReduceAction83_parser___ReduceAction83___init(); /*new ReduceAction83*/
846 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[87]) /*AbstractArray::add*/;
847 variable[88] = NEW_ReduceAction84_parser___ReduceAction84___init(); /*new ReduceAction84*/
848 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[88]) /*AbstractArray::add*/;
849 variable[89] = NEW_ReduceAction85_parser___ReduceAction85___init(); /*new ReduceAction85*/
850 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[89]) /*AbstractArray::add*/;
851 variable[90] = NEW_ReduceAction86_parser___ReduceAction86___init(); /*new ReduceAction86*/
852 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[90]) /*AbstractArray::add*/;
853 variable[91] = NEW_ReduceAction87_parser___ReduceAction87___init(); /*new ReduceAction87*/
854 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[91]) /*AbstractArray::add*/;
855 variable[92] = NEW_ReduceAction88_parser___ReduceAction88___init(); /*new ReduceAction88*/
856 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[92]) /*AbstractArray::add*/;
857 variable[93] = NEW_ReduceAction89_parser___ReduceAction89___init(); /*new ReduceAction89*/
858 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[93]) /*AbstractArray::add*/;
859 variable[94] = NEW_ReduceAction90_parser___ReduceAction90___init(); /*new ReduceAction90*/
860 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[94]) /*AbstractArray::add*/;
861 variable[95] = NEW_ReduceAction91_parser___ReduceAction91___init(); /*new ReduceAction91*/
862 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[95]) /*AbstractArray::add*/;
863 variable[96] = NEW_ReduceAction92_parser___ReduceAction92___init(); /*new ReduceAction92*/
864 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[96]) /*AbstractArray::add*/;
865 variable[97] = NEW_ReduceAction93_parser___ReduceAction93___init(); /*new ReduceAction93*/
866 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[97]) /*AbstractArray::add*/;
867 variable[98] = NEW_ReduceAction94_parser___ReduceAction94___init(); /*new ReduceAction94*/
868 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[98]) /*AbstractArray::add*/;
869 variable[99] = NEW_ReduceAction95_parser___ReduceAction95___init(); /*new ReduceAction95*/
870 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[99]) /*AbstractArray::add*/;
871 variable[100] = NEW_ReduceAction96_parser___ReduceAction96___init(); /*new ReduceAction96*/
872 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[100]) /*AbstractArray::add*/;
873 variable[101] = NEW_ReduceAction97_parser___ReduceAction97___init(); /*new ReduceAction97*/
874 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[101]) /*AbstractArray::add*/;
875 variable[102] = NEW_ReduceAction98_parser___ReduceAction98___init(); /*new ReduceAction98*/
876 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[102]) /*AbstractArray::add*/;
877 variable[103] = NEW_ReduceAction99_parser___ReduceAction99___init(); /*new ReduceAction99*/
878 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[103]) /*AbstractArray::add*/;
879 variable[104] = NEW_ReduceAction100_parser___ReduceAction100___init(); /*new ReduceAction100*/
880 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[104]) /*AbstractArray::add*/;
881 variable[105] = NEW_ReduceAction101_parser___ReduceAction101___init(); /*new ReduceAction101*/
882 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[105]) /*AbstractArray::add*/;
883 variable[106] = NEW_ReduceAction102_parser___ReduceAction102___init(); /*new ReduceAction102*/
884 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[106]) /*AbstractArray::add*/;
885 variable[107] = NEW_ReduceAction103_parser___ReduceAction103___init(); /*new ReduceAction103*/
886 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[107]) /*AbstractArray::add*/;
887 variable[108] = NEW_ReduceAction104_parser___ReduceAction104___init(); /*new ReduceAction104*/
888 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[108]) /*AbstractArray::add*/;
889 variable[109] = NEW_ReduceAction105_parser___ReduceAction105___init(); /*new ReduceAction105*/
890 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[109]) /*AbstractArray::add*/;
891 variable[110] = NEW_ReduceAction106_parser___ReduceAction106___init(); /*new ReduceAction106*/
892 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[110]) /*AbstractArray::add*/;
893 variable[111] = NEW_ReduceAction107_parser___ReduceAction107___init(); /*new ReduceAction107*/
894 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[111]) /*AbstractArray::add*/;
895 variable[112] = NEW_ReduceAction108_parser___ReduceAction108___init(); /*new ReduceAction108*/
896 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[112]) /*AbstractArray::add*/;
897 variable[113] = NEW_ReduceAction109_parser___ReduceAction109___init(); /*new ReduceAction109*/
898 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[113]) /*AbstractArray::add*/;
899 variable[114] = NEW_ReduceAction110_parser___ReduceAction110___init(); /*new ReduceAction110*/
900 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[114]) /*AbstractArray::add*/;
901 variable[115] = NEW_ReduceAction111_parser___ReduceAction111___init(); /*new ReduceAction111*/
902 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[115]) /*AbstractArray::add*/;
903 variable[116] = NEW_ReduceAction112_parser___ReduceAction112___init(); /*new ReduceAction112*/
904 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[116]) /*AbstractArray::add*/;
905 variable[117] = NEW_ReduceAction113_parser___ReduceAction113___init(); /*new ReduceAction113*/
906 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[117]) /*AbstractArray::add*/;
907 variable[118] = NEW_ReduceAction114_parser___ReduceAction114___init(); /*new ReduceAction114*/
908 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[118]) /*AbstractArray::add*/;
909 variable[119] = NEW_ReduceAction115_parser___ReduceAction115___init(); /*new ReduceAction115*/
910 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[119]) /*AbstractArray::add*/;
911 variable[120] = NEW_ReduceAction116_parser___ReduceAction116___init(); /*new ReduceAction116*/
912 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[120]) /*AbstractArray::add*/;
913 variable[121] = NEW_ReduceAction117_parser___ReduceAction117___init(); /*new ReduceAction117*/
914 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[121]) /*AbstractArray::add*/;
915 variable[122] = NEW_ReduceAction118_parser___ReduceAction118___init(); /*new ReduceAction118*/
916 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[122]) /*AbstractArray::add*/;
917 variable[123] = NEW_ReduceAction119_parser___ReduceAction119___init(); /*new ReduceAction119*/
918 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[123]) /*AbstractArray::add*/;
919 variable[124] = NEW_ReduceAction120_parser___ReduceAction120___init(); /*new ReduceAction120*/
920 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[124]) /*AbstractArray::add*/;
921 variable[125] = NEW_ReduceAction121_parser___ReduceAction121___init(); /*new ReduceAction121*/
922 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[125]) /*AbstractArray::add*/;
923 variable[126] = NEW_ReduceAction122_parser___ReduceAction122___init(); /*new ReduceAction122*/
924 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[126]) /*AbstractArray::add*/;
925 variable[127] = NEW_ReduceAction123_parser___ReduceAction123___init(); /*new ReduceAction123*/
926 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[127]) /*AbstractArray::add*/;
927 variable[128] = NEW_ReduceAction124_parser___ReduceAction124___init(); /*new ReduceAction124*/
928 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[128]) /*AbstractArray::add*/;
929 variable[129] = NEW_ReduceAction125_parser___ReduceAction125___init(); /*new ReduceAction125*/
930 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[129]) /*AbstractArray::add*/;
931 variable[130] = NEW_ReduceAction126_parser___ReduceAction126___init(); /*new ReduceAction126*/
932 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[130]) /*AbstractArray::add*/;
933 variable[131] = NEW_ReduceAction127_parser___ReduceAction127___init(); /*new ReduceAction127*/
934 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[131]) /*AbstractArray::add*/;
935 variable[132] = NEW_ReduceAction128_parser___ReduceAction128___init(); /*new ReduceAction128*/
936 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[132]) /*AbstractArray::add*/;
937 variable[133] = NEW_ReduceAction129_parser___ReduceAction129___init(); /*new ReduceAction129*/
938 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[133]) /*AbstractArray::add*/;
939 variable[134] = NEW_ReduceAction130_parser___ReduceAction130___init(); /*new ReduceAction130*/
940 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[134]) /*AbstractArray::add*/;
941 variable[135] = NEW_ReduceAction131_parser___ReduceAction131___init(); /*new ReduceAction131*/
942 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[135]) /*AbstractArray::add*/;
943 variable[136] = NEW_ReduceAction132_parser___ReduceAction132___init(); /*new ReduceAction132*/
944 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[136]) /*AbstractArray::add*/;
945 variable[137] = NEW_ReduceAction133_parser___ReduceAction133___init(); /*new ReduceAction133*/
946 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[137]) /*AbstractArray::add*/;
947 variable[138] = NEW_ReduceAction134_parser___ReduceAction134___init(); /*new ReduceAction134*/
948 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[138]) /*AbstractArray::add*/;
949 variable[139] = NEW_ReduceAction135_parser___ReduceAction135___init(); /*new ReduceAction135*/
950 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[139]) /*AbstractArray::add*/;
951 variable[140] = NEW_ReduceAction136_parser___ReduceAction136___init(); /*new ReduceAction136*/
952 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[140]) /*AbstractArray::add*/;
953 variable[141] = NEW_ReduceAction137_parser___ReduceAction137___init(); /*new ReduceAction137*/
954 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[141]) /*AbstractArray::add*/;
955 variable[142] = NEW_ReduceAction138_parser___ReduceAction138___init(); /*new ReduceAction138*/
956 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[142]) /*AbstractArray::add*/;
957 variable[143] = NEW_ReduceAction139_parser___ReduceAction139___init(); /*new ReduceAction139*/
958 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[143]) /*AbstractArray::add*/;
959 variable[144] = NEW_ReduceAction140_parser___ReduceAction140___init(); /*new ReduceAction140*/
960 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[144]) /*AbstractArray::add*/;
961 variable[145] = NEW_ReduceAction141_parser___ReduceAction141___init(); /*new ReduceAction141*/
962 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[145]) /*AbstractArray::add*/;
963 variable[146] = NEW_ReduceAction142_parser___ReduceAction142___init(); /*new ReduceAction142*/
964 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[146]) /*AbstractArray::add*/;
965 variable[147] = NEW_ReduceAction143_parser___ReduceAction143___init(); /*new ReduceAction143*/
966 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[147]) /*AbstractArray::add*/;
967 variable[148] = NEW_ReduceAction144_parser___ReduceAction144___init(); /*new ReduceAction144*/
968 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[148]) /*AbstractArray::add*/;
969 variable[149] = NEW_ReduceAction145_parser___ReduceAction145___init(); /*new ReduceAction145*/
970 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[149]) /*AbstractArray::add*/;
971 variable[150] = NEW_ReduceAction146_parser___ReduceAction146___init(); /*new ReduceAction146*/
972 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[150]) /*AbstractArray::add*/;
973 variable[151] = NEW_ReduceAction147_parser___ReduceAction147___init(); /*new ReduceAction147*/
974 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[151]) /*AbstractArray::add*/;
975 variable[152] = NEW_ReduceAction148_parser___ReduceAction148___init(); /*new ReduceAction148*/
976 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[152]) /*AbstractArray::add*/;
977 variable[153] = NEW_ReduceAction149_parser___ReduceAction149___init(); /*new ReduceAction149*/
978 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[153]) /*AbstractArray::add*/;
979 variable[154] = NEW_ReduceAction150_parser___ReduceAction150___init(); /*new ReduceAction150*/
980 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[154]) /*AbstractArray::add*/;
981 variable[155] = NEW_ReduceAction151_parser___ReduceAction151___init(); /*new ReduceAction151*/
982 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[155]) /*AbstractArray::add*/;
983 variable[156] = NEW_ReduceAction152_parser___ReduceAction152___init(); /*new ReduceAction152*/
984 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[156]) /*AbstractArray::add*/;
985 variable[157] = NEW_ReduceAction153_parser___ReduceAction153___init(); /*new ReduceAction153*/
986 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[157]) /*AbstractArray::add*/;
987 variable[158] = NEW_ReduceAction154_parser___ReduceAction154___init(); /*new ReduceAction154*/
988 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[158]) /*AbstractArray::add*/;
989 variable[159] = NEW_ReduceAction155_parser___ReduceAction155___init(); /*new ReduceAction155*/
990 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[159]) /*AbstractArray::add*/;
991 variable[160] = NEW_ReduceAction156_parser___ReduceAction156___init(); /*new ReduceAction156*/
992 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[160]) /*AbstractArray::add*/;
993 variable[161] = NEW_ReduceAction157_parser___ReduceAction157___init(); /*new ReduceAction157*/
994 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[161]) /*AbstractArray::add*/;
995 variable[162] = NEW_ReduceAction158_parser___ReduceAction158___init(); /*new ReduceAction158*/
996 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[162]) /*AbstractArray::add*/;
997 variable[163] = NEW_ReduceAction159_parser___ReduceAction159___init(); /*new ReduceAction159*/
998 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[163]) /*AbstractArray::add*/;
999 variable[164] = NEW_ReduceAction160_parser___ReduceAction160___init(); /*new ReduceAction160*/
1000 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[164]) /*AbstractArray::add*/;
1001 variable[165] = NEW_ReduceAction161_parser___ReduceAction161___init(); /*new ReduceAction161*/
1002 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[165]) /*AbstractArray::add*/;
1003 variable[166] = NEW_ReduceAction162_parser___ReduceAction162___init(); /*new ReduceAction162*/
1004 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[166]) /*AbstractArray::add*/;
1005 variable[167] = NEW_ReduceAction163_parser___ReduceAction163___init(); /*new ReduceAction163*/
1006 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[167]) /*AbstractArray::add*/;
1007 variable[168] = NEW_ReduceAction164_parser___ReduceAction164___init(); /*new ReduceAction164*/
1008 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[168]) /*AbstractArray::add*/;
1009 variable[169] = NEW_ReduceAction165_parser___ReduceAction165___init(); /*new ReduceAction165*/
1010 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[169]) /*AbstractArray::add*/;
1011 variable[170] = NEW_ReduceAction166_parser___ReduceAction166___init(); /*new ReduceAction166*/
1012 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[170]) /*AbstractArray::add*/;
1013 variable[171] = NEW_ReduceAction167_parser___ReduceAction167___init(); /*new ReduceAction167*/
1014 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[171]) /*AbstractArray::add*/;
1015 variable[172] = NEW_ReduceAction168_parser___ReduceAction168___init(); /*new ReduceAction168*/
1016 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[172]) /*AbstractArray::add*/;
1017 variable[173] = NEW_ReduceAction169_parser___ReduceAction169___init(); /*new ReduceAction169*/
1018 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[173]) /*AbstractArray::add*/;
1019 variable[174] = NEW_ReduceAction170_parser___ReduceAction170___init(); /*new ReduceAction170*/
1020 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[174]) /*AbstractArray::add*/;
1021 variable[175] = NEW_ReduceAction171_parser___ReduceAction171___init(); /*new ReduceAction171*/
1022 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[175]) /*AbstractArray::add*/;
1023 variable[176] = NEW_ReduceAction172_parser___ReduceAction172___init(); /*new ReduceAction172*/
1024 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[176]) /*AbstractArray::add*/;
1025 variable[177] = NEW_ReduceAction173_parser___ReduceAction173___init(); /*new ReduceAction173*/
1026 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[177]) /*AbstractArray::add*/;
1027 variable[178] = NEW_ReduceAction174_parser___ReduceAction174___init(); /*new ReduceAction174*/
1028 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[178]) /*AbstractArray::add*/;
1029 variable[179] = NEW_ReduceAction175_parser___ReduceAction175___init(); /*new ReduceAction175*/
1030 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[179]) /*AbstractArray::add*/;
1031 variable[180] = NEW_ReduceAction176_parser___ReduceAction176___init(); /*new ReduceAction176*/
1032 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[180]) /*AbstractArray::add*/;
1033 variable[181] = NEW_ReduceAction177_parser___ReduceAction177___init(); /*new ReduceAction177*/
1034 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[181]) /*AbstractArray::add*/;
1035 variable[182] = NEW_ReduceAction178_parser___ReduceAction178___init(); /*new ReduceAction178*/
1036 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[182]) /*AbstractArray::add*/;
1037 variable[183] = NEW_ReduceAction179_parser___ReduceAction179___init(); /*new ReduceAction179*/
1038 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[183]) /*AbstractArray::add*/;
1039 variable[184] = NEW_ReduceAction180_parser___ReduceAction180___init(); /*new ReduceAction180*/
1040 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[184]) /*AbstractArray::add*/;
1041 variable[185] = NEW_ReduceAction181_parser___ReduceAction181___init(); /*new ReduceAction181*/
1042 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[185]) /*AbstractArray::add*/;
1043 variable[186] = NEW_ReduceAction182_parser___ReduceAction182___init(); /*new ReduceAction182*/
1044 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[186]) /*AbstractArray::add*/;
1045 variable[187] = NEW_ReduceAction183_parser___ReduceAction183___init(); /*new ReduceAction183*/
1046 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[187]) /*AbstractArray::add*/;
1047 variable[188] = NEW_ReduceAction184_parser___ReduceAction184___init(); /*new ReduceAction184*/
1048 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[188]) /*AbstractArray::add*/;
1049 variable[189] = NEW_ReduceAction185_parser___ReduceAction185___init(); /*new ReduceAction185*/
1050 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[189]) /*AbstractArray::add*/;
1051 variable[190] = NEW_ReduceAction186_parser___ReduceAction186___init(); /*new ReduceAction186*/
1052 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[190]) /*AbstractArray::add*/;
1053 variable[191] = NEW_ReduceAction187_parser___ReduceAction187___init(); /*new ReduceAction187*/
1054 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[191]) /*AbstractArray::add*/;
1055 variable[192] = NEW_ReduceAction188_parser___ReduceAction188___init(); /*new ReduceAction188*/
1056 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[192]) /*AbstractArray::add*/;
1057 variable[193] = NEW_ReduceAction189_parser___ReduceAction189___init(); /*new ReduceAction189*/
1058 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[193]) /*AbstractArray::add*/;
1059 variable[194] = NEW_ReduceAction190_parser___ReduceAction190___init(); /*new ReduceAction190*/
1060 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[194]) /*AbstractArray::add*/;
1061 variable[195] = NEW_ReduceAction191_parser___ReduceAction191___init(); /*new ReduceAction191*/
1062 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[195]) /*AbstractArray::add*/;
1063 variable[196] = NEW_ReduceAction192_parser___ReduceAction192___init(); /*new ReduceAction192*/
1064 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[196]) /*AbstractArray::add*/;
1065 variable[197] = NEW_ReduceAction193_parser___ReduceAction193___init(); /*new ReduceAction193*/
1066 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[197]) /*AbstractArray::add*/;
1067 variable[198] = NEW_ReduceAction194_parser___ReduceAction194___init(); /*new ReduceAction194*/
1068 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[198]) /*AbstractArray::add*/;
1069 variable[199] = NEW_ReduceAction195_parser___ReduceAction195___init(); /*new ReduceAction195*/
1070 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[199]) /*AbstractArray::add*/;
1071 variable[200] = NEW_ReduceAction196_parser___ReduceAction196___init(); /*new ReduceAction196*/
1072 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[200]) /*AbstractArray::add*/;
1073 variable[201] = NEW_ReduceAction197_parser___ReduceAction197___init(); /*new ReduceAction197*/
1074 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[201]) /*AbstractArray::add*/;
1075 variable[202] = NEW_ReduceAction198_parser___ReduceAction198___init(); /*new ReduceAction198*/
1076 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[202]) /*AbstractArray::add*/;
1077 variable[203] = NEW_ReduceAction199_parser___ReduceAction199___init(); /*new ReduceAction199*/
1078 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[203]) /*AbstractArray::add*/;
1079 variable[204] = NEW_ReduceAction200_parser___ReduceAction200___init(); /*new ReduceAction200*/
1080 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[204]) /*AbstractArray::add*/;
1081 variable[205] = NEW_ReduceAction201_parser___ReduceAction201___init(); /*new ReduceAction201*/
1082 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[205]) /*AbstractArray::add*/;
1083 variable[206] = NEW_ReduceAction202_parser___ReduceAction202___init(); /*new ReduceAction202*/
1084 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[206]) /*AbstractArray::add*/;
1085 variable[207] = NEW_ReduceAction203_parser___ReduceAction203___init(); /*new ReduceAction203*/
1086 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[207]) /*AbstractArray::add*/;
1087 variable[208] = NEW_ReduceAction204_parser___ReduceAction204___init(); /*new ReduceAction204*/
1088 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[208]) /*AbstractArray::add*/;
1089 variable[209] = NEW_ReduceAction205_parser___ReduceAction205___init(); /*new ReduceAction205*/
1090 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[209]) /*AbstractArray::add*/;
1091 variable[210] = NEW_ReduceAction206_parser___ReduceAction206___init(); /*new ReduceAction206*/
1092 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[210]) /*AbstractArray::add*/;
1093 variable[211] = NEW_ReduceAction207_parser___ReduceAction207___init(); /*new ReduceAction207*/
1094 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[211]) /*AbstractArray::add*/;
1095 variable[212] = NEW_ReduceAction208_parser___ReduceAction208___init(); /*new ReduceAction208*/
1096 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[212]) /*AbstractArray::add*/;
1097 variable[213] = NEW_ReduceAction209_parser___ReduceAction209___init(); /*new ReduceAction209*/
1098 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[213]) /*AbstractArray::add*/;
1099 variable[214] = NEW_ReduceAction210_parser___ReduceAction210___init(); /*new ReduceAction210*/
1100 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[214]) /*AbstractArray::add*/;
1101 variable[215] = NEW_ReduceAction211_parser___ReduceAction211___init(); /*new ReduceAction211*/
1102 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[215]) /*AbstractArray::add*/;
1103 variable[216] = NEW_ReduceAction212_parser___ReduceAction212___init(); /*new ReduceAction212*/
1104 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[216]) /*AbstractArray::add*/;
1105 variable[217] = NEW_ReduceAction213_parser___ReduceAction213___init(); /*new ReduceAction213*/
1106 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[217]) /*AbstractArray::add*/;
1107 variable[218] = NEW_ReduceAction214_parser___ReduceAction214___init(); /*new ReduceAction214*/
1108 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[218]) /*AbstractArray::add*/;
1109 variable[219] = NEW_ReduceAction215_parser___ReduceAction215___init(); /*new ReduceAction215*/
1110 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[219]) /*AbstractArray::add*/;
1111 variable[220] = NEW_ReduceAction216_parser___ReduceAction216___init(); /*new ReduceAction216*/
1112 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[220]) /*AbstractArray::add*/;
1113 variable[221] = NEW_ReduceAction217_parser___ReduceAction217___init(); /*new ReduceAction217*/
1114 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[221]) /*AbstractArray::add*/;
1115 variable[222] = NEW_ReduceAction218_parser___ReduceAction218___init(); /*new ReduceAction218*/
1116 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[222]) /*AbstractArray::add*/;
1117 variable[223] = NEW_ReduceAction219_parser___ReduceAction219___init(); /*new ReduceAction219*/
1118 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[223]) /*AbstractArray::add*/;
1119 variable[224] = NEW_ReduceAction220_parser___ReduceAction220___init(); /*new ReduceAction220*/
1120 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[224]) /*AbstractArray::add*/;
1121 variable[225] = NEW_ReduceAction221_parser___ReduceAction221___init(); /*new ReduceAction221*/
1122 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[225]) /*AbstractArray::add*/;
1123 variable[226] = NEW_ReduceAction222_parser___ReduceAction222___init(); /*new ReduceAction222*/
1124 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[226]) /*AbstractArray::add*/;
1125 variable[227] = NEW_ReduceAction223_parser___ReduceAction223___init(); /*new ReduceAction223*/
1126 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[227]) /*AbstractArray::add*/;
1127 variable[228] = NEW_ReduceAction224_parser___ReduceAction224___init(); /*new ReduceAction224*/
1128 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[228]) /*AbstractArray::add*/;
1129 variable[229] = NEW_ReduceAction225_parser___ReduceAction225___init(); /*new ReduceAction225*/
1130 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[229]) /*AbstractArray::add*/;
1131 variable[230] = NEW_ReduceAction226_parser___ReduceAction226___init(); /*new ReduceAction226*/
1132 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[230]) /*AbstractArray::add*/;
1133 variable[231] = NEW_ReduceAction227_parser___ReduceAction227___init(); /*new ReduceAction227*/
1134 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[231]) /*AbstractArray::add*/;
1135 variable[232] = NEW_ReduceAction228_parser___ReduceAction228___init(); /*new ReduceAction228*/
1136 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[232]) /*AbstractArray::add*/;
1137 variable[233] = NEW_ReduceAction229_parser___ReduceAction229___init(); /*new ReduceAction229*/
1138 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[233]) /*AbstractArray::add*/;
1139 variable[234] = NEW_ReduceAction230_parser___ReduceAction230___init(); /*new ReduceAction230*/
1140 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[234]) /*AbstractArray::add*/;
1141 variable[235] = NEW_ReduceAction231_parser___ReduceAction231___init(); /*new ReduceAction231*/
1142 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[235]) /*AbstractArray::add*/;
1143 variable[236] = NEW_ReduceAction232_parser___ReduceAction232___init(); /*new ReduceAction232*/
1144 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[236]) /*AbstractArray::add*/;
1145 variable[237] = NEW_ReduceAction233_parser___ReduceAction233___init(); /*new ReduceAction233*/
1146 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[237]) /*AbstractArray::add*/;
1147 variable[238] = NEW_ReduceAction234_parser___ReduceAction234___init(); /*new ReduceAction234*/
1148 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[238]) /*AbstractArray::add*/;
1149 variable[239] = NEW_ReduceAction235_parser___ReduceAction235___init(); /*new ReduceAction235*/
1150 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[239]) /*AbstractArray::add*/;
1151 variable[240] = NEW_ReduceAction236_parser___ReduceAction236___init(); /*new ReduceAction236*/
1152 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[240]) /*AbstractArray::add*/;
1153 variable[241] = NEW_ReduceAction237_parser___ReduceAction237___init(); /*new ReduceAction237*/
1154 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[241]) /*AbstractArray::add*/;
1155 variable[242] = NEW_ReduceAction238_parser___ReduceAction238___init(); /*new ReduceAction238*/
1156 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[242]) /*AbstractArray::add*/;
1157 variable[243] = NEW_ReduceAction239_parser___ReduceAction239___init(); /*new ReduceAction239*/
1158 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[243]) /*AbstractArray::add*/;
1159 variable[244] = NEW_ReduceAction240_parser___ReduceAction240___init(); /*new ReduceAction240*/
1160 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[244]) /*AbstractArray::add*/;
1161 variable[245] = NEW_ReduceAction241_parser___ReduceAction241___init(); /*new ReduceAction241*/
1162 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[245]) /*AbstractArray::add*/;
1163 variable[246] = NEW_ReduceAction242_parser___ReduceAction242___init(); /*new ReduceAction242*/
1164 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[246]) /*AbstractArray::add*/;
1165 variable[247] = NEW_ReduceAction243_parser___ReduceAction243___init(); /*new ReduceAction243*/
1166 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[247]) /*AbstractArray::add*/;
1167 variable[248] = NEW_ReduceAction244_parser___ReduceAction244___init(); /*new ReduceAction244*/
1168 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[248]) /*AbstractArray::add*/;
1169 variable[249] = NEW_ReduceAction245_parser___ReduceAction245___init(); /*new ReduceAction245*/
1170 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[249]) /*AbstractArray::add*/;
1171 variable[250] = NEW_ReduceAction246_parser___ReduceAction246___init(); /*new ReduceAction246*/
1172 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[250]) /*AbstractArray::add*/;
1173 variable[251] = NEW_ReduceAction247_parser___ReduceAction247___init(); /*new ReduceAction247*/
1174 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[251]) /*AbstractArray::add*/;
1175 variable[252] = NEW_ReduceAction248_parser___ReduceAction248___init(); /*new ReduceAction248*/
1176 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[252]) /*AbstractArray::add*/;
1177 variable[253] = NEW_ReduceAction249_parser___ReduceAction249___init(); /*new ReduceAction249*/
1178 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[253]) /*AbstractArray::add*/;
1179 variable[254] = NEW_ReduceAction250_parser___ReduceAction250___init(); /*new ReduceAction250*/
1180 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[254]) /*AbstractArray::add*/;
1181 variable[255] = NEW_ReduceAction251_parser___ReduceAction251___init(); /*new ReduceAction251*/
1182 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[255]) /*AbstractArray::add*/;
1183 variable[256] = NEW_ReduceAction252_parser___ReduceAction252___init(); /*new ReduceAction252*/
1184 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[256]) /*AbstractArray::add*/;
1185 variable[257] = NEW_ReduceAction253_parser___ReduceAction253___init(); /*new ReduceAction253*/
1186 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[257]) /*AbstractArray::add*/;
1187 variable[258] = NEW_ReduceAction254_parser___ReduceAction254___init(); /*new ReduceAction254*/
1188 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[258]) /*AbstractArray::add*/;
1189 variable[259] = NEW_ReduceAction255_parser___ReduceAction255___init(); /*new ReduceAction255*/
1190 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[259]) /*AbstractArray::add*/;
1191 variable[260] = NEW_ReduceAction256_parser___ReduceAction256___init(); /*new ReduceAction256*/
1192 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[260]) /*AbstractArray::add*/;
1193 variable[261] = NEW_ReduceAction257_parser___ReduceAction257___init(); /*new ReduceAction257*/
1194 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[261]) /*AbstractArray::add*/;
1195 variable[262] = NEW_ReduceAction258_parser___ReduceAction258___init(); /*new ReduceAction258*/
1196 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[262]) /*AbstractArray::add*/;
1197 variable[263] = NEW_ReduceAction259_parser___ReduceAction259___init(); /*new ReduceAction259*/
1198 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[263]) /*AbstractArray::add*/;
1199 variable[264] = NEW_ReduceAction260_parser___ReduceAction260___init(); /*new ReduceAction260*/
1200 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[264]) /*AbstractArray::add*/;
1201 variable[265] = NEW_ReduceAction261_parser___ReduceAction261___init(); /*new ReduceAction261*/
1202 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[265]) /*AbstractArray::add*/;
1203 variable[266] = NEW_ReduceAction262_parser___ReduceAction262___init(); /*new ReduceAction262*/
1204 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[266]) /*AbstractArray::add*/;
1205 variable[267] = NEW_ReduceAction263_parser___ReduceAction263___init(); /*new ReduceAction263*/
1206 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[267]) /*AbstractArray::add*/;
1207 variable[268] = NEW_ReduceAction264_parser___ReduceAction264___init(); /*new ReduceAction264*/
1208 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[268]) /*AbstractArray::add*/;
1209 variable[269] = NEW_ReduceAction265_parser___ReduceAction265___init(); /*new ReduceAction265*/
1210 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[269]) /*AbstractArray::add*/;
1211 variable[270] = NEW_ReduceAction266_parser___ReduceAction266___init(); /*new ReduceAction266*/
1212 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[270]) /*AbstractArray::add*/;
1213 variable[271] = NEW_ReduceAction267_parser___ReduceAction267___init(); /*new ReduceAction267*/
1214 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[271]) /*AbstractArray::add*/;
1215 variable[272] = NEW_ReduceAction268_parser___ReduceAction268___init(); /*new ReduceAction268*/
1216 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[272]) /*AbstractArray::add*/;
1217 variable[273] = NEW_ReduceAction269_parser___ReduceAction269___init(); /*new ReduceAction269*/
1218 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[273]) /*AbstractArray::add*/;
1219 variable[274] = NEW_ReduceAction270_parser___ReduceAction270___init(); /*new ReduceAction270*/
1220 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[274]) /*AbstractArray::add*/;
1221 variable[275] = NEW_ReduceAction271_parser___ReduceAction271___init(); /*new ReduceAction271*/
1222 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[275]) /*AbstractArray::add*/;
1223 variable[276] = NEW_ReduceAction272_parser___ReduceAction272___init(); /*new ReduceAction272*/
1224 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[276]) /*AbstractArray::add*/;
1225 variable[277] = NEW_ReduceAction273_parser___ReduceAction273___init(); /*new ReduceAction273*/
1226 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[277]) /*AbstractArray::add*/;
1227 variable[278] = NEW_ReduceAction274_parser___ReduceAction274___init(); /*new ReduceAction274*/
1228 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[278]) /*AbstractArray::add*/;
1229 variable[279] = NEW_ReduceAction275_parser___ReduceAction275___init(); /*new ReduceAction275*/
1230 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[279]) /*AbstractArray::add*/;
1231 variable[280] = NEW_ReduceAction276_parser___ReduceAction276___init(); /*new ReduceAction276*/
1232 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[280]) /*AbstractArray::add*/;
1233 variable[281] = NEW_ReduceAction277_parser___ReduceAction277___init(); /*new ReduceAction277*/
1234 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[281]) /*AbstractArray::add*/;
1235 variable[282] = NEW_ReduceAction278_parser___ReduceAction278___init(); /*new ReduceAction278*/
1236 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[282]) /*AbstractArray::add*/;
1237 variable[283] = NEW_ReduceAction279_parser___ReduceAction279___init(); /*new ReduceAction279*/
1238 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[283]) /*AbstractArray::add*/;
1239 variable[284] = NEW_ReduceAction280_parser___ReduceAction280___init(); /*new ReduceAction280*/
1240 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[284]) /*AbstractArray::add*/;
1241 variable[285] = NEW_ReduceAction281_parser___ReduceAction281___init(); /*new ReduceAction281*/
1242 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[285]) /*AbstractArray::add*/;
1243 variable[286] = NEW_ReduceAction282_parser___ReduceAction282___init(); /*new ReduceAction282*/
1244 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[286]) /*AbstractArray::add*/;
1245 variable[287] = NEW_ReduceAction283_parser___ReduceAction283___init(); /*new ReduceAction283*/
1246 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[287]) /*AbstractArray::add*/;
1247 variable[288] = NEW_ReduceAction284_parser___ReduceAction284___init(); /*new ReduceAction284*/
1248 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[288]) /*AbstractArray::add*/;
1249 variable[289] = NEW_ReduceAction285_parser___ReduceAction285___init(); /*new ReduceAction285*/
1250 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[289]) /*AbstractArray::add*/;
1251 variable[290] = NEW_ReduceAction286_parser___ReduceAction286___init(); /*new ReduceAction286*/
1252 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[290]) /*AbstractArray::add*/;
1253 variable[291] = NEW_ReduceAction287_parser___ReduceAction287___init(); /*new ReduceAction287*/
1254 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[291]) /*AbstractArray::add*/;
1255 variable[292] = NEW_ReduceAction288_parser___ReduceAction288___init(); /*new ReduceAction288*/
1256 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[292]) /*AbstractArray::add*/;
1257 variable[293] = NEW_ReduceAction289_parser___ReduceAction289___init(); /*new ReduceAction289*/
1258 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[293]) /*AbstractArray::add*/;
1259 variable[294] = NEW_ReduceAction290_parser___ReduceAction290___init(); /*new ReduceAction290*/
1260 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[294]) /*AbstractArray::add*/;
1261 variable[295] = NEW_ReduceAction291_parser___ReduceAction291___init(); /*new ReduceAction291*/
1262 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[295]) /*AbstractArray::add*/;
1263 variable[296] = NEW_ReduceAction292_parser___ReduceAction292___init(); /*new ReduceAction292*/
1264 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[296]) /*AbstractArray::add*/;
1265 variable[297] = NEW_ReduceAction293_parser___ReduceAction293___init(); /*new ReduceAction293*/
1266 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[297]) /*AbstractArray::add*/;
1267 variable[298] = NEW_ReduceAction294_parser___ReduceAction294___init(); /*new ReduceAction294*/
1268 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[298]) /*AbstractArray::add*/;
1269 variable[299] = NEW_ReduceAction295_parser___ReduceAction295___init(); /*new ReduceAction295*/
1270 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[299]) /*AbstractArray::add*/;
1271 variable[300] = NEW_ReduceAction296_parser___ReduceAction296___init(); /*new ReduceAction296*/
1272 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[300]) /*AbstractArray::add*/;
1273 variable[301] = NEW_ReduceAction297_parser___ReduceAction297___init(); /*new ReduceAction297*/
1274 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[301]) /*AbstractArray::add*/;
1275 variable[302] = NEW_ReduceAction298_parser___ReduceAction298___init(); /*new ReduceAction298*/
1276 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[302]) /*AbstractArray::add*/;
1277 variable[303] = NEW_ReduceAction299_parser___ReduceAction299___init(); /*new ReduceAction299*/
1278 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[303]) /*AbstractArray::add*/;
1279 variable[304] = NEW_ReduceAction300_parser___ReduceAction300___init(); /*new ReduceAction300*/
1280 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[304]) /*AbstractArray::add*/;
1281 variable[305] = NEW_ReduceAction301_parser___ReduceAction301___init(); /*new ReduceAction301*/
1282 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[305]) /*AbstractArray::add*/;
1283 variable[306] = NEW_ReduceAction302_parser___ReduceAction302___init(); /*new ReduceAction302*/
1284 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[306]) /*AbstractArray::add*/;
1285 variable[307] = NEW_ReduceAction303_parser___ReduceAction303___init(); /*new ReduceAction303*/
1286 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[307]) /*AbstractArray::add*/;
1287 variable[308] = NEW_ReduceAction304_parser___ReduceAction304___init(); /*new ReduceAction304*/
1288 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[308]) /*AbstractArray::add*/;
1289 variable[309] = NEW_ReduceAction305_parser___ReduceAction305___init(); /*new ReduceAction305*/
1290 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[309]) /*AbstractArray::add*/;
1291 variable[310] = NEW_ReduceAction306_parser___ReduceAction306___init(); /*new ReduceAction306*/
1292 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[310]) /*AbstractArray::add*/;
1293 variable[311] = NEW_ReduceAction307_parser___ReduceAction307___init(); /*new ReduceAction307*/
1294 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[311]) /*AbstractArray::add*/;
1295 variable[312] = NEW_ReduceAction308_parser___ReduceAction308___init(); /*new ReduceAction308*/
1296 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[312]) /*AbstractArray::add*/;
1297 variable[313] = NEW_ReduceAction309_parser___ReduceAction309___init(); /*new ReduceAction309*/
1298 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[313]) /*AbstractArray::add*/;
1299 variable[314] = NEW_ReduceAction310_parser___ReduceAction310___init(); /*new ReduceAction310*/
1300 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[314]) /*AbstractArray::add*/;
1301 variable[315] = NEW_ReduceAction311_parser___ReduceAction311___init(); /*new ReduceAction311*/
1302 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[315]) /*AbstractArray::add*/;
1303 variable[316] = NEW_ReduceAction312_parser___ReduceAction312___init(); /*new ReduceAction312*/
1304 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[316]) /*AbstractArray::add*/;
1305 variable[317] = NEW_ReduceAction313_parser___ReduceAction313___init(); /*new ReduceAction313*/
1306 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[317]) /*AbstractArray::add*/;
1307 variable[318] = NEW_ReduceAction314_parser___ReduceAction314___init(); /*new ReduceAction314*/
1308 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[318]) /*AbstractArray::add*/;
1309 variable[319] = NEW_ReduceAction315_parser___ReduceAction315___init(); /*new ReduceAction315*/
1310 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[319]) /*AbstractArray::add*/;
1311 variable[320] = NEW_ReduceAction316_parser___ReduceAction316___init(); /*new ReduceAction316*/
1312 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[320]) /*AbstractArray::add*/;
1313 variable[321] = NEW_ReduceAction317_parser___ReduceAction317___init(); /*new ReduceAction317*/
1314 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[321]) /*AbstractArray::add*/;
1315 variable[322] = NEW_ReduceAction318_parser___ReduceAction318___init(); /*new ReduceAction318*/
1316 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[322]) /*AbstractArray::add*/;
1317 variable[323] = NEW_ReduceAction319_parser___ReduceAction319___init(); /*new ReduceAction319*/
1318 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[323]) /*AbstractArray::add*/;
1319 variable[324] = NEW_ReduceAction320_parser___ReduceAction320___init(); /*new ReduceAction320*/
1320 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[324]) /*AbstractArray::add*/;
1321 variable[325] = NEW_ReduceAction321_parser___ReduceAction321___init(); /*new ReduceAction321*/
1322 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[325]) /*AbstractArray::add*/;
1323 variable[326] = NEW_ReduceAction322_parser___ReduceAction322___init(); /*new ReduceAction322*/
1324 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[326]) /*AbstractArray::add*/;
1325 variable[327] = NEW_ReduceAction323_parser___ReduceAction323___init(); /*new ReduceAction323*/
1326 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[327]) /*AbstractArray::add*/;
1327 variable[328] = NEW_ReduceAction324_parser___ReduceAction324___init(); /*new ReduceAction324*/
1328 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[328]) /*AbstractArray::add*/;
1329 variable[329] = NEW_ReduceAction325_parser___ReduceAction325___init(); /*new ReduceAction325*/
1330 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[329]) /*AbstractArray::add*/;
1331 variable[330] = NEW_ReduceAction326_parser___ReduceAction326___init(); /*new ReduceAction326*/
1332 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[330]) /*AbstractArray::add*/;
1333 variable[331] = NEW_ReduceAction327_parser___ReduceAction327___init(); /*new ReduceAction327*/
1334 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[331]) /*AbstractArray::add*/;
1335 variable[332] = NEW_ReduceAction328_parser___ReduceAction328___init(); /*new ReduceAction328*/
1336 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[332]) /*AbstractArray::add*/;
1337 variable[333] = NEW_ReduceAction329_parser___ReduceAction329___init(); /*new ReduceAction329*/
1338 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[333]) /*AbstractArray::add*/;
1339 variable[334] = NEW_ReduceAction330_parser___ReduceAction330___init(); /*new ReduceAction330*/
1340 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[334]) /*AbstractArray::add*/;
1341 variable[335] = NEW_ReduceAction331_parser___ReduceAction331___init(); /*new ReduceAction331*/
1342 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[335]) /*AbstractArray::add*/;
1343 variable[336] = NEW_ReduceAction332_parser___ReduceAction332___init(); /*new ReduceAction332*/
1344 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[336]) /*AbstractArray::add*/;
1345 variable[337] = NEW_ReduceAction333_parser___ReduceAction333___init(); /*new ReduceAction333*/
1346 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[337]) /*AbstractArray::add*/;
1347 variable[338] = NEW_ReduceAction334_parser___ReduceAction334___init(); /*new ReduceAction334*/
1348 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[338]) /*AbstractArray::add*/;
1349 variable[339] = NEW_ReduceAction335_parser___ReduceAction335___init(); /*new ReduceAction335*/
1350 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[339]) /*AbstractArray::add*/;
1351 variable[340] = NEW_ReduceAction336_parser___ReduceAction336___init(); /*new ReduceAction336*/
1352 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[340]) /*AbstractArray::add*/;
1353 variable[341] = NEW_ReduceAction337_parser___ReduceAction337___init(); /*new ReduceAction337*/
1354 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[341]) /*AbstractArray::add*/;
1355 variable[342] = NEW_ReduceAction338_parser___ReduceAction338___init(); /*new ReduceAction338*/
1356 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[342]) /*AbstractArray::add*/;
1357 variable[343] = NEW_ReduceAction339_parser___ReduceAction339___init(); /*new ReduceAction339*/
1358 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[343]) /*AbstractArray::add*/;
1359 variable[344] = NEW_ReduceAction340_parser___ReduceAction340___init(); /*new ReduceAction340*/
1360 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[344]) /*AbstractArray::add*/;
1361 variable[345] = NEW_ReduceAction341_parser___ReduceAction341___init(); /*new ReduceAction341*/
1362 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[345]) /*AbstractArray::add*/;
1363 variable[346] = NEW_ReduceAction342_parser___ReduceAction342___init(); /*new ReduceAction342*/
1364 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[346]) /*AbstractArray::add*/;
1365 variable[347] = NEW_ReduceAction343_parser___ReduceAction343___init(); /*new ReduceAction343*/
1366 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[347]) /*AbstractArray::add*/;
1367 variable[348] = NEW_ReduceAction344_parser___ReduceAction344___init(); /*new ReduceAction344*/
1368 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[348]) /*AbstractArray::add*/;
1369 variable[349] = NEW_ReduceAction345_parser___ReduceAction345___init(); /*new ReduceAction345*/
1370 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[349]) /*AbstractArray::add*/;
1371 variable[350] = NEW_ReduceAction346_parser___ReduceAction346___init(); /*new ReduceAction346*/
1372 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[350]) /*AbstractArray::add*/;
1373 variable[351] = NEW_ReduceAction347_parser___ReduceAction347___init(); /*new ReduceAction347*/
1374 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[351]) /*AbstractArray::add*/;
1375 variable[352] = NEW_ReduceAction348_parser___ReduceAction348___init(); /*new ReduceAction348*/
1376 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[352]) /*AbstractArray::add*/;
1377 variable[353] = NEW_ReduceAction349_parser___ReduceAction349___init(); /*new ReduceAction349*/
1378 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[353]) /*AbstractArray::add*/;
1379 variable[354] = NEW_ReduceAction350_parser___ReduceAction350___init(); /*new ReduceAction350*/
1380 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[354]) /*AbstractArray::add*/;
1381 variable[355] = NEW_ReduceAction351_parser___ReduceAction351___init(); /*new ReduceAction351*/
1382 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[355]) /*AbstractArray::add*/;
1383 variable[356] = NEW_ReduceAction352_parser___ReduceAction352___init(); /*new ReduceAction352*/
1384 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[356]) /*AbstractArray::add*/;
1385 variable[357] = NEW_ReduceAction353_parser___ReduceAction353___init(); /*new ReduceAction353*/
1386 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[357]) /*AbstractArray::add*/;
1387 variable[358] = NEW_ReduceAction354_parser___ReduceAction354___init(); /*new ReduceAction354*/
1388 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[358]) /*AbstractArray::add*/;
1389 variable[359] = NEW_ReduceAction355_parser___ReduceAction355___init(); /*new ReduceAction355*/
1390 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[359]) /*AbstractArray::add*/;
1391 variable[360] = NEW_ReduceAction356_parser___ReduceAction356___init(); /*new ReduceAction356*/
1392 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[360]) /*AbstractArray::add*/;
1393 variable[361] = NEW_ReduceAction357_parser___ReduceAction357___init(); /*new ReduceAction357*/
1394 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[361]) /*AbstractArray::add*/;
1395 variable[362] = NEW_ReduceAction358_parser___ReduceAction358___init(); /*new ReduceAction358*/
1396 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[362]) /*AbstractArray::add*/;
1397 variable[363] = NEW_ReduceAction359_parser___ReduceAction359___init(); /*new ReduceAction359*/
1398 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[363]) /*AbstractArray::add*/;
1399 variable[364] = NEW_ReduceAction360_parser___ReduceAction360___init(); /*new ReduceAction360*/
1400 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[364]) /*AbstractArray::add*/;
1401 variable[365] = NEW_ReduceAction361_parser___ReduceAction361___init(); /*new ReduceAction361*/
1402 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[365]) /*AbstractArray::add*/;
1403 variable[366] = NEW_ReduceAction362_parser___ReduceAction362___init(); /*new ReduceAction362*/
1404 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[366]) /*AbstractArray::add*/;
1405 variable[367] = NEW_ReduceAction363_parser___ReduceAction363___init(); /*new ReduceAction363*/
1406 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[367]) /*AbstractArray::add*/;
1407 variable[368] = NEW_ReduceAction364_parser___ReduceAction364___init(); /*new ReduceAction364*/
1408 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[368]) /*AbstractArray::add*/;
1409 variable[369] = NEW_ReduceAction365_parser___ReduceAction365___init(); /*new ReduceAction365*/
1410 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[369]) /*AbstractArray::add*/;
1411 variable[370] = NEW_ReduceAction366_parser___ReduceAction366___init(); /*new ReduceAction366*/
1412 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[370]) /*AbstractArray::add*/;
1413 variable[371] = NEW_ReduceAction367_parser___ReduceAction367___init(); /*new ReduceAction367*/
1414 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[371]) /*AbstractArray::add*/;
1415 variable[372] = NEW_ReduceAction368_parser___ReduceAction368___init(); /*new ReduceAction368*/
1416 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[372]) /*AbstractArray::add*/;
1417 variable[373] = NEW_ReduceAction369_parser___ReduceAction369___init(); /*new ReduceAction369*/
1418 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[373]) /*AbstractArray::add*/;
1419 variable[374] = NEW_ReduceAction370_parser___ReduceAction370___init(); /*new ReduceAction370*/
1420 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[374]) /*AbstractArray::add*/;
1421 variable[375] = NEW_ReduceAction371_parser___ReduceAction371___init(); /*new ReduceAction371*/
1422 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[375]) /*AbstractArray::add*/;
1423 variable[376] = NEW_ReduceAction372_parser___ReduceAction372___init(); /*new ReduceAction372*/
1424 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[376]) /*AbstractArray::add*/;
1425 variable[377] = NEW_ReduceAction373_parser___ReduceAction373___init(); /*new ReduceAction373*/
1426 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[377]) /*AbstractArray::add*/;
1427 variable[378] = NEW_ReduceAction374_parser___ReduceAction374___init(); /*new ReduceAction374*/
1428 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[378]) /*AbstractArray::add*/;
1429 variable[379] = NEW_ReduceAction375_parser___ReduceAction375___init(); /*new ReduceAction375*/
1430 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[379]) /*AbstractArray::add*/;
1431 variable[380] = NEW_ReduceAction376_parser___ReduceAction376___init(); /*new ReduceAction376*/
1432 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[380]) /*AbstractArray::add*/;
1433 variable[381] = NEW_ReduceAction377_parser___ReduceAction377___init(); /*new ReduceAction377*/
1434 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[381]) /*AbstractArray::add*/;
1435 variable[382] = NEW_ReduceAction378_parser___ReduceAction378___init(); /*new ReduceAction378*/
1436 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[382]) /*AbstractArray::add*/;
1437 variable[383] = NEW_ReduceAction379_parser___ReduceAction379___init(); /*new ReduceAction379*/
1438 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[383]) /*AbstractArray::add*/;
1439 variable[384] = NEW_ReduceAction380_parser___ReduceAction380___init(); /*new ReduceAction380*/
1440 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[384]) /*AbstractArray::add*/;
1441 variable[385] = NEW_ReduceAction381_parser___ReduceAction381___init(); /*new ReduceAction381*/
1442 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[385]) /*AbstractArray::add*/;
1443 variable[386] = NEW_ReduceAction382_parser___ReduceAction382___init(); /*new ReduceAction382*/
1444 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[386]) /*AbstractArray::add*/;
1445 variable[387] = NEW_ReduceAction383_parser___ReduceAction383___init(); /*new ReduceAction383*/
1446 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[387]) /*AbstractArray::add*/;
1447 variable[388] = NEW_ReduceAction384_parser___ReduceAction384___init(); /*new ReduceAction384*/
1448 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[388]) /*AbstractArray::add*/;
1449 variable[389] = NEW_ReduceAction385_parser___ReduceAction385___init(); /*new ReduceAction385*/
1450 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[389]) /*AbstractArray::add*/;
1451 variable[390] = NEW_ReduceAction386_parser___ReduceAction386___init(); /*new ReduceAction386*/
1452 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[390]) /*AbstractArray::add*/;
1453 variable[391] = NEW_ReduceAction387_parser___ReduceAction387___init(); /*new ReduceAction387*/
1454 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[391]) /*AbstractArray::add*/;
1455 variable[392] = NEW_ReduceAction388_parser___ReduceAction388___init(); /*new ReduceAction388*/
1456 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[392]) /*AbstractArray::add*/;
1457 variable[393] = NEW_ReduceAction389_parser___ReduceAction389___init(); /*new ReduceAction389*/
1458 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[393]) /*AbstractArray::add*/;
1459 variable[394] = NEW_ReduceAction390_parser___ReduceAction390___init(); /*new ReduceAction390*/
1460 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[394]) /*AbstractArray::add*/;
1461 variable[395] = NEW_ReduceAction391_parser___ReduceAction391___init(); /*new ReduceAction391*/
1462 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[395]) /*AbstractArray::add*/;
1463 variable[396] = NEW_ReduceAction392_parser___ReduceAction392___init(); /*new ReduceAction392*/
1464 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[396]) /*AbstractArray::add*/;
1465 variable[397] = NEW_ReduceAction393_parser___ReduceAction393___init(); /*new ReduceAction393*/
1466 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[397]) /*AbstractArray::add*/;
1467 variable[398] = NEW_ReduceAction394_parser___ReduceAction394___init(); /*new ReduceAction394*/
1468 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[398]) /*AbstractArray::add*/;
1469 variable[399] = NEW_ReduceAction395_parser___ReduceAction395___init(); /*new ReduceAction395*/
1470 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[399]) /*AbstractArray::add*/;
1471 variable[400] = NEW_ReduceAction396_parser___ReduceAction396___init(); /*new ReduceAction396*/
1472 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[400]) /*AbstractArray::add*/;
1473 variable[401] = NEW_ReduceAction397_parser___ReduceAction397___init(); /*new ReduceAction397*/
1474 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[401]) /*AbstractArray::add*/;
1475 variable[402] = NEW_ReduceAction398_parser___ReduceAction398___init(); /*new ReduceAction398*/
1476 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[402]) /*AbstractArray::add*/;
1477 variable[403] = NEW_ReduceAction399_parser___ReduceAction399___init(); /*new ReduceAction399*/
1478 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[403]) /*AbstractArray::add*/;
1479 variable[404] = NEW_ReduceAction400_parser___ReduceAction400___init(); /*new ReduceAction400*/
1480 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[404]) /*AbstractArray::add*/;
1481 variable[405] = NEW_ReduceAction401_parser___ReduceAction401___init(); /*new ReduceAction401*/
1482 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[405]) /*AbstractArray::add*/;
1483 variable[406] = NEW_ReduceAction402_parser___ReduceAction402___init(); /*new ReduceAction402*/
1484 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[406]) /*AbstractArray::add*/;
1485 variable[407] = NEW_ReduceAction403_parser___ReduceAction403___init(); /*new ReduceAction403*/
1486 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[407]) /*AbstractArray::add*/;
1487 variable[408] = NEW_ReduceAction404_parser___ReduceAction404___init(); /*new ReduceAction404*/
1488 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[408]) /*AbstractArray::add*/;
1489 variable[409] = NEW_ReduceAction405_parser___ReduceAction405___init(); /*new ReduceAction405*/
1490 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[409]) /*AbstractArray::add*/;
1491 variable[410] = NEW_ReduceAction406_parser___ReduceAction406___init(); /*new ReduceAction406*/
1492 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[410]) /*AbstractArray::add*/;
1493 variable[411] = NEW_ReduceAction407_parser___ReduceAction407___init(); /*new ReduceAction407*/
1494 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[411]) /*AbstractArray::add*/;
1495 variable[412] = NEW_ReduceAction408_parser___ReduceAction408___init(); /*new ReduceAction408*/
1496 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[412]) /*AbstractArray::add*/;
1497 variable[413] = NEW_ReduceAction409_parser___ReduceAction409___init(); /*new ReduceAction409*/
1498 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[413]) /*AbstractArray::add*/;
1499 variable[414] = NEW_ReduceAction410_parser___ReduceAction410___init(); /*new ReduceAction410*/
1500 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[414]) /*AbstractArray::add*/;
1501 variable[415] = NEW_ReduceAction411_parser___ReduceAction411___init(); /*new ReduceAction411*/
1502 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[415]) /*AbstractArray::add*/;
1503 variable[416] = NEW_ReduceAction412_parser___ReduceAction412___init(); /*new ReduceAction412*/
1504 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[416]) /*AbstractArray::add*/;
1505 variable[417] = NEW_ReduceAction413_parser___ReduceAction413___init(); /*new ReduceAction413*/
1506 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[417]) /*AbstractArray::add*/;
1507 variable[418] = NEW_ReduceAction414_parser___ReduceAction414___init(); /*new ReduceAction414*/
1508 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[418]) /*AbstractArray::add*/;
1509 variable[419] = NEW_ReduceAction415_parser___ReduceAction415___init(); /*new ReduceAction415*/
1510 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[419]) /*AbstractArray::add*/;
1511 variable[420] = NEW_ReduceAction416_parser___ReduceAction416___init(); /*new ReduceAction416*/
1512 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[420]) /*AbstractArray::add*/;
1513 variable[421] = NEW_ReduceAction417_parser___ReduceAction417___init(); /*new ReduceAction417*/
1514 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[421]) /*AbstractArray::add*/;
1515 variable[422] = NEW_ReduceAction418_parser___ReduceAction418___init(); /*new ReduceAction418*/
1516 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[422]) /*AbstractArray::add*/;
1517 variable[423] = NEW_ReduceAction419_parser___ReduceAction419___init(); /*new ReduceAction419*/
1518 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[423]) /*AbstractArray::add*/;
1519 variable[424] = NEW_ReduceAction420_parser___ReduceAction420___init(); /*new ReduceAction420*/
1520 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[424]) /*AbstractArray::add*/;
1521 variable[425] = NEW_ReduceAction421_parser___ReduceAction421___init(); /*new ReduceAction421*/
1522 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[425]) /*AbstractArray::add*/;
1523 variable[426] = NEW_ReduceAction422_parser___ReduceAction422___init(); /*new ReduceAction422*/
1524 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[426]) /*AbstractArray::add*/;
1525 variable[427] = NEW_ReduceAction423_parser___ReduceAction423___init(); /*new ReduceAction423*/
1526 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[427]) /*AbstractArray::add*/;
1527 variable[428] = NEW_ReduceAction424_parser___ReduceAction424___init(); /*new ReduceAction424*/
1528 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[428]) /*AbstractArray::add*/;
1529 variable[429] = NEW_ReduceAction425_parser___ReduceAction425___init(); /*new ReduceAction425*/
1530 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[429]) /*AbstractArray::add*/;
1531 variable[430] = NEW_ReduceAction426_parser___ReduceAction426___init(); /*new ReduceAction426*/
1532 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[430]) /*AbstractArray::add*/;
1533 variable[431] = NEW_ReduceAction427_parser___ReduceAction427___init(); /*new ReduceAction427*/
1534 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[431]) /*AbstractArray::add*/;
1535 variable[432] = NEW_ReduceAction428_parser___ReduceAction428___init(); /*new ReduceAction428*/
1536 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[432]) /*AbstractArray::add*/;
1537 variable[433] = NEW_ReduceAction429_parser___ReduceAction429___init(); /*new ReduceAction429*/
1538 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[433]) /*AbstractArray::add*/;
1539 variable[434] = NEW_ReduceAction430_parser___ReduceAction430___init(); /*new ReduceAction430*/
1540 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[434]) /*AbstractArray::add*/;
1541 variable[435] = NEW_ReduceAction431_parser___ReduceAction431___init(); /*new ReduceAction431*/
1542 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[435]) /*AbstractArray::add*/;
1543 variable[436] = NEW_ReduceAction432_parser___ReduceAction432___init(); /*new ReduceAction432*/
1544 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[436]) /*AbstractArray::add*/;
1545 variable[437] = NEW_ReduceAction433_parser___ReduceAction433___init(); /*new ReduceAction433*/
1546 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[437]) /*AbstractArray::add*/;
1547 variable[438] = NEW_ReduceAction434_parser___ReduceAction434___init(); /*new ReduceAction434*/
1548 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[438]) /*AbstractArray::add*/;
1549 variable[439] = NEW_ReduceAction435_parser___ReduceAction435___init(); /*new ReduceAction435*/
1550 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[439]) /*AbstractArray::add*/;
1551 variable[440] = NEW_ReduceAction436_parser___ReduceAction436___init(); /*new ReduceAction436*/
1552 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[440]) /*AbstractArray::add*/;
1553 variable[441] = NEW_ReduceAction437_parser___ReduceAction437___init(); /*new ReduceAction437*/
1554 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[441]) /*AbstractArray::add*/;
1555 variable[442] = NEW_ReduceAction438_parser___ReduceAction438___init(); /*new ReduceAction438*/
1556 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[442]) /*AbstractArray::add*/;
1557 variable[443] = NEW_ReduceAction439_parser___ReduceAction439___init(); /*new ReduceAction439*/
1558 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[443]) /*AbstractArray::add*/;
1559 variable[444] = NEW_ReduceAction440_parser___ReduceAction440___init(); /*new ReduceAction440*/
1560 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[444]) /*AbstractArray::add*/;
1561 variable[445] = NEW_ReduceAction441_parser___ReduceAction441___init(); /*new ReduceAction441*/
1562 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[445]) /*AbstractArray::add*/;
1563 variable[446] = NEW_ReduceAction442_parser___ReduceAction442___init(); /*new ReduceAction442*/
1564 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[446]) /*AbstractArray::add*/;
1565 variable[447] = NEW_ReduceAction443_parser___ReduceAction443___init(); /*new ReduceAction443*/
1566 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[447]) /*AbstractArray::add*/;
1567 variable[448] = NEW_ReduceAction444_parser___ReduceAction444___init(); /*new ReduceAction444*/
1568 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[448]) /*AbstractArray::add*/;
1569 variable[449] = NEW_ReduceAction445_parser___ReduceAction445___init(); /*new ReduceAction445*/
1570 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[449]) /*AbstractArray::add*/;
1571 variable[450] = NEW_ReduceAction446_parser___ReduceAction446___init(); /*new ReduceAction446*/
1572 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[450]) /*AbstractArray::add*/;
1573 variable[451] = NEW_ReduceAction447_parser___ReduceAction447___init(); /*new ReduceAction447*/
1574 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[451]) /*AbstractArray::add*/;
1575 variable[452] = NEW_ReduceAction448_parser___ReduceAction448___init(); /*new ReduceAction448*/
1576 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[452]) /*AbstractArray::add*/;
1577 variable[453] = NEW_ReduceAction449_parser___ReduceAction449___init(); /*new ReduceAction449*/
1578 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[453]) /*AbstractArray::add*/;
1579 variable[454] = NEW_ReduceAction450_parser___ReduceAction450___init(); /*new ReduceAction450*/
1580 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[454]) /*AbstractArray::add*/;
1581 variable[455] = NEW_ReduceAction451_parser___ReduceAction451___init(); /*new ReduceAction451*/
1582 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[455]) /*AbstractArray::add*/;
1583 variable[456] = NEW_ReduceAction452_parser___ReduceAction452___init(); /*new ReduceAction452*/
1584 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[456]) /*AbstractArray::add*/;
1585 variable[457] = NEW_ReduceAction453_parser___ReduceAction453___init(); /*new ReduceAction453*/
1586 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[457]) /*AbstractArray::add*/;
1587 variable[458] = NEW_ReduceAction454_parser___ReduceAction454___init(); /*new ReduceAction454*/
1588 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[458]) /*AbstractArray::add*/;
1589 variable[459] = NEW_ReduceAction455_parser___ReduceAction455___init(); /*new ReduceAction455*/
1590 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[459]) /*AbstractArray::add*/;
1591 variable[460] = NEW_ReduceAction456_parser___ReduceAction456___init(); /*new ReduceAction456*/
1592 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[460]) /*AbstractArray::add*/;
1593 variable[461] = NEW_ReduceAction457_parser___ReduceAction457___init(); /*new ReduceAction457*/
1594 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[461]) /*AbstractArray::add*/;
1595 variable[462] = NEW_ReduceAction458_parser___ReduceAction458___init(); /*new ReduceAction458*/
1596 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[462]) /*AbstractArray::add*/;
1597 variable[463] = NEW_ReduceAction459_parser___ReduceAction459___init(); /*new ReduceAction459*/
1598 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[463]) /*AbstractArray::add*/;
1599 variable[464] = NEW_ReduceAction460_parser___ReduceAction460___init(); /*new ReduceAction460*/
1600 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[464]) /*AbstractArray::add*/;
1601 variable[465] = NEW_ReduceAction461_parser___ReduceAction461___init(); /*new ReduceAction461*/
1602 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[465]) /*AbstractArray::add*/;
1603 variable[466] = NEW_ReduceAction462_parser___ReduceAction462___init(); /*new ReduceAction462*/
1604 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[466]) /*AbstractArray::add*/;
1605 variable[467] = NEW_ReduceAction463_parser___ReduceAction463___init(); /*new ReduceAction463*/
1606 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[467]) /*AbstractArray::add*/;
1607 variable[468] = NEW_ReduceAction464_parser___ReduceAction464___init(); /*new ReduceAction464*/
1608 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[468]) /*AbstractArray::add*/;
1609 variable[469] = NEW_ReduceAction465_parser___ReduceAction465___init(); /*new ReduceAction465*/
1610 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[469]) /*AbstractArray::add*/;
1611 variable[470] = NEW_ReduceAction466_parser___ReduceAction466___init(); /*new ReduceAction466*/
1612 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[470]) /*AbstractArray::add*/;
1613 variable[471] = NEW_ReduceAction467_parser___ReduceAction467___init(); /*new ReduceAction467*/
1614 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[471]) /*AbstractArray::add*/;
1615 variable[472] = NEW_ReduceAction468_parser___ReduceAction468___init(); /*new ReduceAction468*/
1616 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[472]) /*AbstractArray::add*/;
1617 variable[473] = NEW_ReduceAction469_parser___ReduceAction469___init(); /*new ReduceAction469*/
1618 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[473]) /*AbstractArray::add*/;
1619 variable[474] = NEW_ReduceAction470_parser___ReduceAction470___init(); /*new ReduceAction470*/
1620 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[474]) /*AbstractArray::add*/;
1621 variable[475] = NEW_ReduceAction471_parser___ReduceAction471___init(); /*new ReduceAction471*/
1622 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[475]) /*AbstractArray::add*/;
1623 variable[476] = NEW_ReduceAction472_parser___ReduceAction472___init(); /*new ReduceAction472*/
1624 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[476]) /*AbstractArray::add*/;
1625 variable[477] = NEW_ReduceAction473_parser___ReduceAction473___init(); /*new ReduceAction473*/
1626 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[477]) /*AbstractArray::add*/;
1627 variable[478] = NEW_ReduceAction474_parser___ReduceAction474___init(); /*new ReduceAction474*/
1628 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[478]) /*AbstractArray::add*/;
1629 variable[479] = NEW_ReduceAction475_parser___ReduceAction475___init(); /*new ReduceAction475*/
1630 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[479]) /*AbstractArray::add*/;
1631 variable[480] = NEW_ReduceAction476_parser___ReduceAction476___init(); /*new ReduceAction476*/
1632 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[480]) /*AbstractArray::add*/;
1633 variable[481] = NEW_ReduceAction477_parser___ReduceAction477___init(); /*new ReduceAction477*/
1634 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[481]) /*AbstractArray::add*/;
1635 variable[482] = NEW_ReduceAction478_parser___ReduceAction478___init(); /*new ReduceAction478*/
1636 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[482]) /*AbstractArray::add*/;
1637 variable[483] = NEW_ReduceAction479_parser___ReduceAction479___init(); /*new ReduceAction479*/
1638 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[483]) /*AbstractArray::add*/;
1639 variable[484] = NEW_ReduceAction480_parser___ReduceAction480___init(); /*new ReduceAction480*/
1640 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[484]) /*AbstractArray::add*/;
1641 variable[485] = NEW_ReduceAction481_parser___ReduceAction481___init(); /*new ReduceAction481*/
1642 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[485]) /*AbstractArray::add*/;
1643 variable[486] = NEW_ReduceAction482_parser___ReduceAction482___init(); /*new ReduceAction482*/
1644 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[486]) /*AbstractArray::add*/;
1645 variable[487] = NEW_ReduceAction483_parser___ReduceAction483___init(); /*new ReduceAction483*/
1646 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[487]) /*AbstractArray::add*/;
1647 variable[488] = NEW_ReduceAction484_parser___ReduceAction484___init(); /*new ReduceAction484*/
1648 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[488]) /*AbstractArray::add*/;
1649 variable[489] = NEW_ReduceAction485_parser___ReduceAction485___init(); /*new ReduceAction485*/
1650 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[489]) /*AbstractArray::add*/;
1651 variable[490] = NEW_ReduceAction486_parser___ReduceAction486___init(); /*new ReduceAction486*/
1652 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[490]) /*AbstractArray::add*/;
1653 variable[491] = NEW_ReduceAction487_parser___ReduceAction487___init(); /*new ReduceAction487*/
1654 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[491]) /*AbstractArray::add*/;
1655 variable[492] = NEW_ReduceAction488_parser___ReduceAction488___init(); /*new ReduceAction488*/
1656 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[492]) /*AbstractArray::add*/;
1657 variable[493] = NEW_ReduceAction489_parser___ReduceAction489___init(); /*new ReduceAction489*/
1658 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[493]) /*AbstractArray::add*/;
1659 variable[494] = NEW_ReduceAction490_parser___ReduceAction490___init(); /*new ReduceAction490*/
1660 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[494]) /*AbstractArray::add*/;
1661 variable[495] = NEW_ReduceAction491_parser___ReduceAction491___init(); /*new ReduceAction491*/
1662 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[495]) /*AbstractArray::add*/;
1663 variable[496] = NEW_ReduceAction492_parser___ReduceAction492___init(); /*new ReduceAction492*/
1664 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[496]) /*AbstractArray::add*/;
1665 variable[497] = NEW_ReduceAction493_parser___ReduceAction493___init(); /*new ReduceAction493*/
1666 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[497]) /*AbstractArray::add*/;
1667 variable[498] = NEW_ReduceAction494_parser___ReduceAction494___init(); /*new ReduceAction494*/
1668 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[498]) /*AbstractArray::add*/;
1669 variable[499] = NEW_ReduceAction495_parser___ReduceAction495___init(); /*new ReduceAction495*/
1670 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[499]) /*AbstractArray::add*/;
1671 variable[500] = NEW_ReduceAction496_parser___ReduceAction496___init(); /*new ReduceAction496*/
1672 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[500]) /*AbstractArray::add*/;
1673 variable[501] = NEW_ReduceAction497_parser___ReduceAction497___init(); /*new ReduceAction497*/
1674 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[501]) /*AbstractArray::add*/;
1675 variable[502] = NEW_ReduceAction498_parser___ReduceAction498___init(); /*new ReduceAction498*/
1676 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[502]) /*AbstractArray::add*/;
1677 variable[503] = NEW_ReduceAction499_parser___ReduceAction499___init(); /*new ReduceAction499*/
1678 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[503]) /*AbstractArray::add*/;
1679 variable[504] = NEW_ReduceAction500_parser___ReduceAction500___init(); /*new ReduceAction500*/
1680 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[504]) /*AbstractArray::add*/;
1681 variable[505] = NEW_ReduceAction501_parser___ReduceAction501___init(); /*new ReduceAction501*/
1682 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[505]) /*AbstractArray::add*/;
1683 variable[506] = NEW_ReduceAction502_parser___ReduceAction502___init(); /*new ReduceAction502*/
1684 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[506]) /*AbstractArray::add*/;
1685 variable[507] = NEW_ReduceAction503_parser___ReduceAction503___init(); /*new ReduceAction503*/
1686 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[507]) /*AbstractArray::add*/;
1687 variable[508] = NEW_ReduceAction504_parser___ReduceAction504___init(); /*new ReduceAction504*/
1688 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[508]) /*AbstractArray::add*/;
1689 variable[509] = NEW_ReduceAction505_parser___ReduceAction505___init(); /*new ReduceAction505*/
1690 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[509]) /*AbstractArray::add*/;
1691 variable[510] = NEW_ReduceAction506_parser___ReduceAction506___init(); /*new ReduceAction506*/
1692 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[510]) /*AbstractArray::add*/;
1693 variable[511] = NEW_ReduceAction507_parser___ReduceAction507___init(); /*new ReduceAction507*/
1694 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[511]) /*AbstractArray::add*/;
1695 variable[512] = NEW_ReduceAction508_parser___ReduceAction508___init(); /*new ReduceAction508*/
1696 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[512]) /*AbstractArray::add*/;
1697 variable[513] = NEW_ReduceAction509_parser___ReduceAction509___init(); /*new ReduceAction509*/
1698 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[513]) /*AbstractArray::add*/;
1699 variable[514] = NEW_ReduceAction510_parser___ReduceAction510___init(); /*new ReduceAction510*/
1700 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[514]) /*AbstractArray::add*/;
1701 variable[515] = NEW_ReduceAction511_parser___ReduceAction511___init(); /*new ReduceAction511*/
1702 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[515]) /*AbstractArray::add*/;
1703 variable[516] = NEW_ReduceAction512_parser___ReduceAction512___init(); /*new ReduceAction512*/
1704 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[516]) /*AbstractArray::add*/;
1705 variable[517] = NEW_ReduceAction513_parser___ReduceAction513___init(); /*new ReduceAction513*/
1706 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[517]) /*AbstractArray::add*/;
1707 variable[518] = NEW_ReduceAction514_parser___ReduceAction514___init(); /*new ReduceAction514*/
1708 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[518]) /*AbstractArray::add*/;
1709 variable[519] = NEW_ReduceAction515_parser___ReduceAction515___init(); /*new ReduceAction515*/
1710 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[519]) /*AbstractArray::add*/;
1711 variable[520] = NEW_ReduceAction516_parser___ReduceAction516___init(); /*new ReduceAction516*/
1712 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[520]) /*AbstractArray::add*/;
1713 variable[521] = NEW_ReduceAction517_parser___ReduceAction517___init(); /*new ReduceAction517*/
1714 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[521]) /*AbstractArray::add*/;
1715 variable[522] = NEW_ReduceAction518_parser___ReduceAction518___init(); /*new ReduceAction518*/
1716 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[522]) /*AbstractArray::add*/;
1717 variable[523] = NEW_ReduceAction519_parser___ReduceAction519___init(); /*new ReduceAction519*/
1718 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[523]) /*AbstractArray::add*/;
1719 variable[524] = NEW_ReduceAction520_parser___ReduceAction520___init(); /*new ReduceAction520*/
1720 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[524]) /*AbstractArray::add*/;
1721 variable[525] = NEW_ReduceAction521_parser___ReduceAction521___init(); /*new ReduceAction521*/
1722 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[525]) /*AbstractArray::add*/;
1723 variable[526] = NEW_ReduceAction522_parser___ReduceAction522___init(); /*new ReduceAction522*/
1724 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[526]) /*AbstractArray::add*/;
1725 variable[527] = NEW_ReduceAction523_parser___ReduceAction523___init(); /*new ReduceAction523*/
1726 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[527]) /*AbstractArray::add*/;
1727 variable[528] = NEW_ReduceAction524_parser___ReduceAction524___init(); /*new ReduceAction524*/
1728 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[528]) /*AbstractArray::add*/;
1729 variable[529] = NEW_ReduceAction525_parser___ReduceAction525___init(); /*new ReduceAction525*/
1730 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[529]) /*AbstractArray::add*/;
1731 variable[530] = NEW_ReduceAction526_parser___ReduceAction526___init(); /*new ReduceAction526*/
1732 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[530]) /*AbstractArray::add*/;
1733 variable[531] = NEW_ReduceAction527_parser___ReduceAction527___init(); /*new ReduceAction527*/
1734 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[531]) /*AbstractArray::add*/;
1735 variable[532] = NEW_ReduceAction528_parser___ReduceAction528___init(); /*new ReduceAction528*/
1736 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[532]) /*AbstractArray::add*/;
1737 variable[533] = NEW_ReduceAction529_parser___ReduceAction529___init(); /*new ReduceAction529*/
1738 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[533]) /*AbstractArray::add*/;
1739 variable[534] = NEW_ReduceAction530_parser___ReduceAction530___init(); /*new ReduceAction530*/
1740 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[534]) /*AbstractArray::add*/;
1741 variable[535] = NEW_ReduceAction531_parser___ReduceAction531___init(); /*new ReduceAction531*/
1742 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[535]) /*AbstractArray::add*/;
1743 variable[536] = NEW_ReduceAction532_parser___ReduceAction532___init(); /*new ReduceAction532*/
1744 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[536]) /*AbstractArray::add*/;
1745 variable[537] = NEW_ReduceAction533_parser___ReduceAction533___init(); /*new ReduceAction533*/
1746 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[537]) /*AbstractArray::add*/;
1747 variable[538] = NEW_ReduceAction534_parser___ReduceAction534___init(); /*new ReduceAction534*/
1748 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[538]) /*AbstractArray::add*/;
1749 variable[539] = NEW_ReduceAction535_parser___ReduceAction535___init(); /*new ReduceAction535*/
1750 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[539]) /*AbstractArray::add*/;
1751 variable[540] = NEW_ReduceAction536_parser___ReduceAction536___init(); /*new ReduceAction536*/
1752 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[540]) /*AbstractArray::add*/;
1753 variable[541] = NEW_ReduceAction537_parser___ReduceAction537___init(); /*new ReduceAction537*/
1754 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[541]) /*AbstractArray::add*/;
1755 variable[542] = NEW_ReduceAction538_parser___ReduceAction538___init(); /*new ReduceAction538*/
1756 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[542]) /*AbstractArray::add*/;
1757 variable[543] = NEW_ReduceAction539_parser___ReduceAction539___init(); /*new ReduceAction539*/
1758 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[543]) /*AbstractArray::add*/;
1759 variable[544] = NEW_ReduceAction540_parser___ReduceAction540___init(); /*new ReduceAction540*/
1760 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[544]) /*AbstractArray::add*/;
1761 variable[545] = NEW_ReduceAction541_parser___ReduceAction541___init(); /*new ReduceAction541*/
1762 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[545]) /*AbstractArray::add*/;
1763 variable[546] = NEW_ReduceAction542_parser___ReduceAction542___init(); /*new ReduceAction542*/
1764 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[546]) /*AbstractArray::add*/;
1765 variable[547] = NEW_ReduceAction543_parser___ReduceAction543___init(); /*new ReduceAction543*/
1766 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[547]) /*AbstractArray::add*/;
1767 variable[548] = NEW_ReduceAction544_parser___ReduceAction544___init(); /*new ReduceAction544*/
1768 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[548]) /*AbstractArray::add*/;
1769 variable[549] = NEW_ReduceAction545_parser___ReduceAction545___init(); /*new ReduceAction545*/
1770 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[549]) /*AbstractArray::add*/;
1771 variable[550] = NEW_ReduceAction546_parser___ReduceAction546___init(); /*new ReduceAction546*/
1772 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[550]) /*AbstractArray::add*/;
1773 variable[551] = NEW_ReduceAction547_parser___ReduceAction547___init(); /*new ReduceAction547*/
1774 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[551]) /*AbstractArray::add*/;
1775 variable[552] = NEW_ReduceAction548_parser___ReduceAction548___init(); /*new ReduceAction548*/
1776 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[552]) /*AbstractArray::add*/;
1777 variable[553] = NEW_ReduceAction549_parser___ReduceAction549___init(); /*new ReduceAction549*/
1778 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[553]) /*AbstractArray::add*/;
1779 variable[554] = NEW_ReduceAction550_parser___ReduceAction550___init(); /*new ReduceAction550*/
1780 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[554]) /*AbstractArray::add*/;
1781 variable[555] = NEW_ReduceAction551_parser___ReduceAction551___init(); /*new ReduceAction551*/
1782 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[555]) /*AbstractArray::add*/;
1783 variable[556] = NEW_ReduceAction552_parser___ReduceAction552___init(); /*new ReduceAction552*/
1784 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[556]) /*AbstractArray::add*/;
1785 variable[557] = NEW_ReduceAction553_parser___ReduceAction553___init(); /*new ReduceAction553*/
1786 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[557]) /*AbstractArray::add*/;
1787 variable[558] = NEW_ReduceAction554_parser___ReduceAction554___init(); /*new ReduceAction554*/
1788 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[558]) /*AbstractArray::add*/;
1789 variable[559] = NEW_ReduceAction555_parser___ReduceAction555___init(); /*new ReduceAction555*/
1790 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[559]) /*AbstractArray::add*/;
1791 variable[560] = NEW_ReduceAction556_parser___ReduceAction556___init(); /*new ReduceAction556*/
1792 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[560]) /*AbstractArray::add*/;
1793 variable[561] = NEW_ReduceAction557_parser___ReduceAction557___init(); /*new ReduceAction557*/
1794 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[561]) /*AbstractArray::add*/;
1795 variable[562] = NEW_ReduceAction558_parser___ReduceAction558___init(); /*new ReduceAction558*/
1796 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[562]) /*AbstractArray::add*/;
1797 variable[563] = NEW_ReduceAction559_parser___ReduceAction559___init(); /*new ReduceAction559*/
1798 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[563]) /*AbstractArray::add*/;
1799 variable[564] = NEW_ReduceAction560_parser___ReduceAction560___init(); /*new ReduceAction560*/
1800 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[564]) /*AbstractArray::add*/;
1801 variable[565] = NEW_ReduceAction561_parser___ReduceAction561___init(); /*new ReduceAction561*/
1802 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[565]) /*AbstractArray::add*/;
1803 variable[566] = NEW_ReduceAction562_parser___ReduceAction562___init(); /*new ReduceAction562*/
1804 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[566]) /*AbstractArray::add*/;
1805 variable[567] = NEW_ReduceAction563_parser___ReduceAction563___init(); /*new ReduceAction563*/
1806 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[567]) /*AbstractArray::add*/;
1807 variable[568] = NEW_ReduceAction564_parser___ReduceAction564___init(); /*new ReduceAction564*/
1808 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[568]) /*AbstractArray::add*/;
1809 variable[569] = NEW_ReduceAction565_parser___ReduceAction565___init(); /*new ReduceAction565*/
1810 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[569]) /*AbstractArray::add*/;
1811 variable[570] = NEW_ReduceAction566_parser___ReduceAction566___init(); /*new ReduceAction566*/
1812 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[570]) /*AbstractArray::add*/;
1813 variable[571] = NEW_ReduceAction567_parser___ReduceAction567___init(); /*new ReduceAction567*/
1814 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[571]) /*AbstractArray::add*/;
1815 variable[572] = NEW_ReduceAction568_parser___ReduceAction568___init(); /*new ReduceAction568*/
1816 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[572]) /*AbstractArray::add*/;
1817 variable[573] = NEW_ReduceAction569_parser___ReduceAction569___init(); /*new ReduceAction569*/
1818 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[573]) /*AbstractArray::add*/;
1819 variable[574] = NEW_ReduceAction570_parser___ReduceAction570___init(); /*new ReduceAction570*/
1820 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[574]) /*AbstractArray::add*/;
1821 variable[575] = NEW_ReduceAction571_parser___ReduceAction571___init(); /*new ReduceAction571*/
1822 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[575]) /*AbstractArray::add*/;
1823 variable[576] = NEW_ReduceAction572_parser___ReduceAction572___init(); /*new ReduceAction572*/
1824 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[576]) /*AbstractArray::add*/;
1825 variable[577] = NEW_ReduceAction573_parser___ReduceAction573___init(); /*new ReduceAction573*/
1826 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[577]) /*AbstractArray::add*/;
1827 variable[578] = NEW_ReduceAction574_parser___ReduceAction574___init(); /*new ReduceAction574*/
1828 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[578]) /*AbstractArray::add*/;
1829 variable[579] = NEW_ReduceAction575_parser___ReduceAction575___init(); /*new ReduceAction575*/
1830 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[579]) /*AbstractArray::add*/;
1831 variable[580] = NEW_ReduceAction576_parser___ReduceAction576___init(); /*new ReduceAction576*/
1832 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[580]) /*AbstractArray::add*/;
1833 variable[581] = NEW_ReduceAction577_parser___ReduceAction577___init(); /*new ReduceAction577*/
1834 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[581]) /*AbstractArray::add*/;
1835 variable[582] = NEW_ReduceAction578_parser___ReduceAction578___init(); /*new ReduceAction578*/
1836 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[582]) /*AbstractArray::add*/;
1837 variable[583] = NEW_ReduceAction579_parser___ReduceAction579___init(); /*new ReduceAction579*/
1838 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[583]) /*AbstractArray::add*/;
1839 variable[584] = NEW_ReduceAction580_parser___ReduceAction580___init(); /*new ReduceAction580*/
1840 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[584]) /*AbstractArray::add*/;
1841 variable[585] = NEW_ReduceAction581_parser___ReduceAction581___init(); /*new ReduceAction581*/
1842 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[585]) /*AbstractArray::add*/;
1843 variable[586] = NEW_ReduceAction582_parser___ReduceAction582___init(); /*new ReduceAction582*/
1844 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[586]) /*AbstractArray::add*/;
1845 variable[587] = NEW_ReduceAction583_parser___ReduceAction583___init(); /*new ReduceAction583*/
1846 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[587]) /*AbstractArray::add*/;
1847 variable[588] = NEW_ReduceAction584_parser___ReduceAction584___init(); /*new ReduceAction584*/
1848 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[588]) /*AbstractArray::add*/;
1849 variable[589] = NEW_ReduceAction585_parser___ReduceAction585___init(); /*new ReduceAction585*/
1850 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[589]) /*AbstractArray::add*/;
1851 variable[590] = NEW_ReduceAction586_parser___ReduceAction586___init(); /*new ReduceAction586*/
1852 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[590]) /*AbstractArray::add*/;
1853 variable[591] = NEW_ReduceAction587_parser___ReduceAction587___init(); /*new ReduceAction587*/
1854 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[591]) /*AbstractArray::add*/;
1855 variable[592] = NEW_ReduceAction588_parser___ReduceAction588___init(); /*new ReduceAction588*/
1856 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[592]) /*AbstractArray::add*/;
1857 variable[593] = NEW_ReduceAction589_parser___ReduceAction589___init(); /*new ReduceAction589*/
1858 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[593]) /*AbstractArray::add*/;
1859 variable[594] = NEW_ReduceAction590_parser___ReduceAction590___init(); /*new ReduceAction590*/
1860 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[594]) /*AbstractArray::add*/;
1861 variable[595] = NEW_ReduceAction591_parser___ReduceAction591___init(); /*new ReduceAction591*/
1862 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[595]) /*AbstractArray::add*/;
1863 variable[596] = NEW_ReduceAction592_parser___ReduceAction592___init(); /*new ReduceAction592*/
1864 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[596]) /*AbstractArray::add*/;
1865 variable[597] = NEW_ReduceAction593_parser___ReduceAction593___init(); /*new ReduceAction593*/
1866 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[597]) /*AbstractArray::add*/;
1867 variable[598] = NEW_ReduceAction594_parser___ReduceAction594___init(); /*new ReduceAction594*/
1868 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[598]) /*AbstractArray::add*/;
1869 variable[599] = NEW_ReduceAction595_parser___ReduceAction595___init(); /*new ReduceAction595*/
1870 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[599]) /*AbstractArray::add*/;
1871 variable[600] = NEW_ReduceAction596_parser___ReduceAction596___init(); /*new ReduceAction596*/
1872 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[600]) /*AbstractArray::add*/;
1873 variable[601] = NEW_ReduceAction597_parser___ReduceAction597___init(); /*new ReduceAction597*/
1874 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[601]) /*AbstractArray::add*/;
1875 variable[602] = NEW_ReduceAction598_parser___ReduceAction598___init(); /*new ReduceAction598*/
1876 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[602]) /*AbstractArray::add*/;
1877 variable[603] = NEW_ReduceAction599_parser___ReduceAction599___init(); /*new ReduceAction599*/
1878 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[603]) /*AbstractArray::add*/;
1879 variable[604] = NEW_ReduceAction600_parser___ReduceAction600___init(); /*new ReduceAction600*/
1880 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[604]) /*AbstractArray::add*/;
1881 variable[605] = NEW_ReduceAction601_parser___ReduceAction601___init(); /*new ReduceAction601*/
1882 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[605]) /*AbstractArray::add*/;
1883 variable[606] = NEW_ReduceAction602_parser___ReduceAction602___init(); /*new ReduceAction602*/
1884 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[606]) /*AbstractArray::add*/;
1885 variable[607] = NEW_ReduceAction603_parser___ReduceAction603___init(); /*new ReduceAction603*/
1886 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[607]) /*AbstractArray::add*/;
1887 variable[608] = NEW_ReduceAction604_parser___ReduceAction604___init(); /*new ReduceAction604*/
1888 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[608]) /*AbstractArray::add*/;
1889 variable[609] = NEW_ReduceAction605_parser___ReduceAction605___init(); /*new ReduceAction605*/
1890 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[609]) /*AbstractArray::add*/;
1891 variable[610] = NEW_ReduceAction606_parser___ReduceAction606___init(); /*new ReduceAction606*/
1892 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[610]) /*AbstractArray::add*/;
1893 variable[611] = NEW_ReduceAction607_parser___ReduceAction607___init(); /*new ReduceAction607*/
1894 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[611]) /*AbstractArray::add*/;
1895 variable[612] = NEW_ReduceAction608_parser___ReduceAction608___init(); /*new ReduceAction608*/
1896 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[612]) /*AbstractArray::add*/;
1897 variable[613] = NEW_ReduceAction609_parser___ReduceAction609___init(); /*new ReduceAction609*/
1898 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[613]) /*AbstractArray::add*/;
1899 variable[614] = NEW_ReduceAction610_parser___ReduceAction610___init(); /*new ReduceAction610*/
1900 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[614]) /*AbstractArray::add*/;
1901 variable[615] = NEW_ReduceAction611_parser___ReduceAction611___init(); /*new ReduceAction611*/
1902 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[615]) /*AbstractArray::add*/;
1903 variable[616] = NEW_ReduceAction612_parser___ReduceAction612___init(); /*new ReduceAction612*/
1904 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[616]) /*AbstractArray::add*/;
1905 variable[617] = NEW_ReduceAction613_parser___ReduceAction613___init(); /*new ReduceAction613*/
1906 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[617]) /*AbstractArray::add*/;
1907 variable[618] = NEW_ReduceAction614_parser___ReduceAction614___init(); /*new ReduceAction614*/
1908 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[618]) /*AbstractArray::add*/;
1909 variable[619] = NEW_ReduceAction615_parser___ReduceAction615___init(); /*new ReduceAction615*/
1910 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[619]) /*AbstractArray::add*/;
1911 variable[620] = NEW_ReduceAction616_parser___ReduceAction616___init(); /*new ReduceAction616*/
1912 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[620]) /*AbstractArray::add*/;
1913 variable[621] = NEW_ReduceAction617_parser___ReduceAction617___init(); /*new ReduceAction617*/
1914 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[621]) /*AbstractArray::add*/;
1915 variable[622] = NEW_ReduceAction618_parser___ReduceAction618___init(); /*new ReduceAction618*/
1916 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[622]) /*AbstractArray::add*/;
1917 variable[623] = NEW_ReduceAction619_parser___ReduceAction619___init(); /*new ReduceAction619*/
1918 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[623]) /*AbstractArray::add*/;
1919 variable[624] = NEW_ReduceAction620_parser___ReduceAction620___init(); /*new ReduceAction620*/
1920 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[624]) /*AbstractArray::add*/;
1921 variable[625] = NEW_ReduceAction621_parser___ReduceAction621___init(); /*new ReduceAction621*/
1922 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[625]) /*AbstractArray::add*/;
1923 variable[626] = NEW_ReduceAction622_parser___ReduceAction622___init(); /*new ReduceAction622*/
1924 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[626]) /*AbstractArray::add*/;
1925 variable[627] = NEW_ReduceAction623_parser___ReduceAction623___init(); /*new ReduceAction623*/
1926 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[627]) /*AbstractArray::add*/;
1927 variable[628] = NEW_ReduceAction624_parser___ReduceAction624___init(); /*new ReduceAction624*/
1928 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[628]) /*AbstractArray::add*/;
1929 variable[629] = NEW_ReduceAction625_parser___ReduceAction625___init(); /*new ReduceAction625*/
1930 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[629]) /*AbstractArray::add*/;
1931 variable[630] = NEW_ReduceAction626_parser___ReduceAction626___init(); /*new ReduceAction626*/
1932 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[630]) /*AbstractArray::add*/;
1933 variable[631] = NEW_ReduceAction627_parser___ReduceAction627___init(); /*new ReduceAction627*/
1934 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[631]) /*AbstractArray::add*/;
1935 variable[632] = NEW_ReduceAction628_parser___ReduceAction628___init(); /*new ReduceAction628*/
1936 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[632]) /*AbstractArray::add*/;
1937 variable[633] = NEW_ReduceAction629_parser___ReduceAction629___init(); /*new ReduceAction629*/
1938 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[633]) /*AbstractArray::add*/;
1939 variable[634] = NEW_ReduceAction630_parser___ReduceAction630___init(); /*new ReduceAction630*/
1940 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[634]) /*AbstractArray::add*/;
1941 variable[635] = NEW_ReduceAction631_parser___ReduceAction631___init(); /*new ReduceAction631*/
1942 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[635]) /*AbstractArray::add*/;
1943 variable[636] = NEW_ReduceAction632_parser___ReduceAction632___init(); /*new ReduceAction632*/
1944 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[636]) /*AbstractArray::add*/;
1945 variable[637] = NEW_ReduceAction633_parser___ReduceAction633___init(); /*new ReduceAction633*/
1946 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[637]) /*AbstractArray::add*/;
1947 variable[638] = NEW_ReduceAction634_parser___ReduceAction634___init(); /*new ReduceAction634*/
1948 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[638]) /*AbstractArray::add*/;
1949 variable[639] = NEW_ReduceAction635_parser___ReduceAction635___init(); /*new ReduceAction635*/
1950 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[639]) /*AbstractArray::add*/;
1951 variable[640] = NEW_ReduceAction636_parser___ReduceAction636___init(); /*new ReduceAction636*/
1952 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[640]) /*AbstractArray::add*/;
1953 variable[641] = NEW_ReduceAction637_parser___ReduceAction637___init(); /*new ReduceAction637*/
1954 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[641]) /*AbstractArray::add*/;
1955 variable[642] = NEW_ReduceAction638_parser___ReduceAction638___init(); /*new ReduceAction638*/
1956 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[642]) /*AbstractArray::add*/;
1957 variable[643] = NEW_ReduceAction639_parser___ReduceAction639___init(); /*new ReduceAction639*/
1958 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[643]) /*AbstractArray::add*/;
1959 variable[644] = NEW_ReduceAction640_parser___ReduceAction640___init(); /*new ReduceAction640*/
1960 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[644]) /*AbstractArray::add*/;
1961 variable[645] = NEW_ReduceAction641_parser___ReduceAction641___init(); /*new ReduceAction641*/
1962 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[645]) /*AbstractArray::add*/;
1963 variable[646] = NEW_ReduceAction642_parser___ReduceAction642___init(); /*new ReduceAction642*/
1964 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[646]) /*AbstractArray::add*/;
1965 variable[647] = NEW_ReduceAction643_parser___ReduceAction643___init(); /*new ReduceAction643*/
1966 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[647]) /*AbstractArray::add*/;
1967 variable[648] = NEW_ReduceAction644_parser___ReduceAction644___init(); /*new ReduceAction644*/
1968 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[648]) /*AbstractArray::add*/;
1969 variable[649] = NEW_ReduceAction645_parser___ReduceAction645___init(); /*new ReduceAction645*/
1970 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[649]) /*AbstractArray::add*/;
1971 variable[650] = NEW_ReduceAction646_parser___ReduceAction646___init(); /*new ReduceAction646*/
1972 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[650]) /*AbstractArray::add*/;
1973 variable[651] = NEW_ReduceAction647_parser___ReduceAction647___init(); /*new ReduceAction647*/
1974 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[651]) /*AbstractArray::add*/;
1975 variable[652] = NEW_ReduceAction648_parser___ReduceAction648___init(); /*new ReduceAction648*/
1976 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[652]) /*AbstractArray::add*/;
1977 variable[653] = NEW_ReduceAction649_parser___ReduceAction649___init(); /*new ReduceAction649*/
1978 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[653]) /*AbstractArray::add*/;
1979 variable[654] = NEW_ReduceAction650_parser___ReduceAction650___init(); /*new ReduceAction650*/
1980 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[654]) /*AbstractArray::add*/;
1981 variable[655] = NEW_ReduceAction651_parser___ReduceAction651___init(); /*new ReduceAction651*/
1982 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[655]) /*AbstractArray::add*/;
1983 variable[656] = NEW_ReduceAction652_parser___ReduceAction652___init(); /*new ReduceAction652*/
1984 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[656]) /*AbstractArray::add*/;
1985 variable[657] = NEW_ReduceAction653_parser___ReduceAction653___init(); /*new ReduceAction653*/
1986 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[657]) /*AbstractArray::add*/;
1987 variable[4] = NEW_Array_array___Array___with_items(variable[3]); /*new Array[ReduceAction]*/
1988 variable[3] = variable[4];
1989 ATTR_parser___Parser____reduce_table(variable[2]) /*Parser::_reduce_table*/ = variable[3];
1990 return_label28: while(false);
1991 tracehead = trace.prev;
1992 return;
1993 }
1994 void parser___SearchTokensVisitor___visit(val_t self, val_t param0) {
1995 struct trace_t trace = {NULL, NULL, 825, LOCATE_parser___SearchTokensVisitor___visit};
1996 val_t variable[6];
1997 void **closurevariable = NULL;
1998 trace.prev = tracehead; tracehead = &trace;
1999 trace.file = LOCATE_parser;
2000 variable[0] = self;
2001 variable[1] = param0;
2002 variable[3] = TAG_Bool(( variable[1] /*n*/==NIT_NULL) || VAL_ISA( variable[1] /*n*/, COLOR_Token, ID_Token)) /*cast Token*/;
2003 if (UNTAG_Bool(variable[3])) { /*if*/
2004 variable[3] = TAG_Bool(( variable[1] /*n*/==NIT_NULL) || VAL_ISA( variable[1] /*n*/, COLOR_Token, ID_Token)) /*cast Token*/;
2005 if (!UNTAG_Bool(variable[3])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___SearchTokensVisitor___visit, LOCATE_parser, 828); nit_exit(1);}
2006 variable[3] = variable[0];
2007 ATTR_parser___SearchTokensVisitor____last_token(variable[3]) /*SearchTokensVisitor::_last_token*/ = variable[1] /*n*/;
2008 variable[3] = variable[0];
2009 variable[3] = ATTR_parser___SearchTokensVisitor____untokenned_nodes(variable[3]) /*SearchTokensVisitor::_untokenned_nodes*/;
2010 variable[3] = CALL_abstract_collection___Collection___iterator(variable[3])(variable[3]) /*AbstractArray::iterator*/;
2011 while (true) { /*for*/
2012 variable[4] = CALL_abstract_collection___Iterator___is_ok(variable[3])(variable[3]) /*ArrayIterator::is_ok*/;
2013 if (!UNTAG_Bool(variable[4])) break; /*for*/
2014 variable[4] = CALL_abstract_collection___Iterator___item(variable[3])(variable[3]) /*ArrayIterator::item*/;
2015 variable[5] = variable[4];
2016 CALL_parser_prod___Prod___first_token__eq( variable[5] /*no*/)( variable[5] /*no*/, variable[1] /*n*/) /*Prod::first_token=*/;
2017 continue_30: while(0);
2018 CALL_abstract_collection___Iterator___next(variable[3])(variable[3]) /*ArrayIterator::next*/;
2019 }
2020 break_30: while(0);
2021 variable[3] = variable[0];
2022 variable[3] = ATTR_parser___SearchTokensVisitor____untokenned_nodes(variable[3]) /*SearchTokensVisitor::_untokenned_nodes*/;
2023 CALL_abstract_collection___RemovableCollection___clear(variable[3])(variable[3]) /*AbstractArray::clear*/;
2024 } else { /*if*/
2025 variable[3] = TAG_Bool(( variable[1] /*n*/==NIT_NULL) || VAL_ISA( variable[1] /*n*/, COLOR_Prod, ID_Prod)) /*cast Prod*/;
2026 if (!UNTAG_Bool(variable[3])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___SearchTokensVisitor___visit, LOCATE_parser, 835); nit_exit(1);}
2027 variable[3] = variable[0];
2028 variable[3] = ATTR_parser___SearchTokensVisitor____untokenned_nodes(variable[3]) /*SearchTokensVisitor::_untokenned_nodes*/;
2029 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[1] /*n*/) /*AbstractArray::add*/;
2030 variable[3] = variable[0];
2031 CALL_parser_prod___PNode___visit_all( variable[1] /*n*/)( variable[1] /*n*/, variable[3]) /*PNode::visit_all*/;
2032 variable[3] = variable[0];
2033 variable[3] = ATTR_parser___SearchTokensVisitor____last_token(variable[3]) /*SearchTokensVisitor::_last_token*/;
2034 CALL_parser_prod___Prod___last_token__eq( variable[1] /*n*/)( variable[1] /*n*/, variable[3]) /*Prod::last_token=*/;
2035 }
2036 return_label29: while(false);
2037 tracehead = trace.prev;
2038 return;
2039 }
2040 void parser___SearchTokensVisitor___init(val_t self, int* init_table) {
2041 struct trace_t trace = {NULL, NULL, 841, LOCATE_parser___SearchTokensVisitor___init};
2042 val_t variable[4];
2043 void **closurevariable = NULL;
2044 trace.prev = tracehead; tracehead = &trace;
2045 trace.file = LOCATE_parser;
2046 variable[0] = self;
2047 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_SearchTokensVisitor].i]) return;
2048 variable[2] = variable[0];
2049 variable[3] = NEW_Array_array___Array___init(); /*new Array[Prod]*/
2050 ATTR_parser___SearchTokensVisitor____untokenned_nodes(variable[2]) /*SearchTokensVisitor::_untokenned_nodes*/ = variable[3];
2051 return_label31: while(false);
2052 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_SearchTokensVisitor].i] = 1;
2053 tracehead = trace.prev;
2054 return;
2055 }
2056 void parser___ReduceAction___action(val_t self, val_t param0) {
2057 struct trace_t trace = {NULL, NULL, 849, LOCATE_parser___ReduceAction___action};
2058 val_t *variable = NULL;
2059 void **closurevariable = NULL;
2060 trace.prev = tracehead; tracehead = &trace;
2061 trace.file = LOCATE_parser;
2062 fprintf(stderr, "Deferred method called");
2063 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 849);
2064 nit_exit(1);
2065 tracehead = trace.prev;
2066 return;
2067 }
2068 void parser___ReduceAction___init(val_t self, int* init_table) {
2069 struct trace_t trace = {NULL, NULL, 0, LOCATE_parser___ReduceAction___init};
2070 val_t *variable = NULL;
2071 void **closurevariable = NULL;
2072 trace.prev = tracehead; tracehead = &trace;
2073 trace.file = LOCATE_parser;
2074 tracehead = trace.prev;
2075 return;
2076 }
2077 void parser___ReduceAction0___action(val_t self, val_t param0) {
2078 struct trace_t trace = {NULL, NULL, 854, LOCATE_parser___ReduceAction0___action};
2079 val_t variable[8];
2080 void **closurevariable = NULL;
2081 trace.prev = tracehead; tracehead = &trace;
2082 trace.file = LOCATE_parser;
2083 variable[0] = self;
2084 variable[1] = param0;
2085 variable[3] = NIT_NULL /*null*/;
2086 variable[5] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2087 variable[4] = variable[5];
2088 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2089 variable[5] = variable[6];
2090 variable[7] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[4] /*listnode3*/, variable[5] /*listnode4*/); /*new AModule*/
2091 variable[6] = variable[7];
2092 variable[3] = variable[6] /*pmodulenode1*/ /*node_list=*/;
2093 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2094 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
2095 return_label32: while(false);
2096 tracehead = trace.prev;
2097 return;
2098 }
2099 void parser___ReduceAction0___init(val_t self, int* init_table) {
2100 struct trace_t trace = {NULL, NULL, 867, LOCATE_parser___ReduceAction0___init};
2101 val_t variable[2];
2102 void **closurevariable = NULL;
2103 trace.prev = tracehead; tracehead = &trace;
2104 trace.file = LOCATE_parser;
2105 variable[0] = self;
2106 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction0].i]) return;
2107 return_label33: while(false);
2108 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction0].i] = 1;
2109 tracehead = trace.prev;
2110 return;
2111 }
2112 void parser___ReduceAction1___action(val_t self, val_t param0) {
2113 struct trace_t trace = {NULL, NULL, 871, LOCATE_parser___ReduceAction1___action};
2114 val_t variable[10];
2115 void **closurevariable = NULL;
2116 trace.prev = tracehead; tracehead = &trace;
2117 trace.file = LOCATE_parser;
2118 variable[0] = self;
2119 variable[1] = param0;
2120 variable[3] = NIT_NULL /*null*/;
2121 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2122 variable[4] = variable[5];
2123 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2124 variable[5] = variable[6];
2125 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2126 variable[6] = variable[7];
2127 variable[7] = variable[4] /*nodearraylist1*/;
2128 variable[8] = TAG_Bool(( variable[7] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
2129 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction1___action, LOCATE_parser, 878); nit_exit(1);}
2130 variable[9] = NEW_AModule_parser_prod___AModule___init_amodule( variable[7] /*ppackagedeclnode2*/, variable[5] /*listnode3*/, variable[6] /*listnode4*/); /*new AModule*/
2131 variable[8] = variable[9];
2132 variable[3] = variable[8] /*pmodulenode1*/ /*node_list=*/;
2133 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2134 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
2135 return_label34: while(false);
2136 tracehead = trace.prev;
2137 return;
2138 }
2139 void parser___ReduceAction1___init(val_t self, int* init_table) {
2140 struct trace_t trace = {NULL, NULL, 887, LOCATE_parser___ReduceAction1___init};
2141 val_t variable[2];
2142 void **closurevariable = NULL;
2143 trace.prev = tracehead; tracehead = &trace;
2144 trace.file = LOCATE_parser;
2145 variable[0] = self;
2146 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction1].i]) return;
2147 return_label35: while(false);
2148 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction1].i] = 1;
2149 tracehead = trace.prev;
2150 return;
2151 }
2152 void parser___ReduceAction2___action(val_t self, val_t param0) {
2153 struct trace_t trace = {NULL, NULL, 891, LOCATE_parser___ReduceAction2___action};
2154 val_t variable[10];
2155 void **closurevariable = NULL;
2156 trace.prev = tracehead; tracehead = &trace;
2157 trace.file = LOCATE_parser;
2158 variable[0] = self;
2159 variable[1] = param0;
2160 variable[3] = NIT_NULL /*null*/;
2161 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2162 variable[4] = variable[5];
2163 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2164 variable[5] = variable[6];
2165 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2166 variable[6] = variable[7];
2167 variable[7] = variable[4] /*nodearraylist1*/;
2168 variable[8] = TAG_Bool(( variable[7] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2169 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction2___action, LOCATE_parser, 898); nit_exit(1);}
2170 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*listnode3*/)( variable[7] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2171 if (UNTAG_Bool(variable[8])) { /*if*/
2172 variable[8] = CALL_abstract_collection___Collection___is_empty( variable[5] /*listnode4*/)( variable[5] /*listnode4*/) /*AbstractArray::is_empty*/;
2173 if (UNTAG_Bool(variable[8])) { /*if*/
2174 variable[5] = variable[7] /*listnode3*/ /*listnode4=*/;
2175 } else { /*if*/
2176 CALL_abstract_collection___IndexedCollection___append( variable[5] /*listnode4*/)( variable[5] /*listnode4*/, variable[7] /*listnode3*/) /*IndexedCollection::append*/;
2177 }
2178 }
2179 variable[9] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[5] /*listnode4*/, variable[6] /*listnode5*/); /*new AModule*/
2180 variable[8] = variable[9];
2181 variable[3] = variable[8] /*pmodulenode1*/ /*node_list=*/;
2182 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2183 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
2184 return_label36: while(false);
2185 tracehead = trace.prev;
2186 return;
2187 }
2188 void parser___ReduceAction2___init(val_t self, int* init_table) {
2189 struct trace_t trace = {NULL, NULL, 914, LOCATE_parser___ReduceAction2___init};
2190 val_t variable[2];
2191 void **closurevariable = NULL;
2192 trace.prev = tracehead; tracehead = &trace;
2193 trace.file = LOCATE_parser;
2194 variable[0] = self;
2195 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction2].i]) return;
2196 return_label37: while(false);
2197 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction2].i] = 1;
2198 tracehead = trace.prev;
2199 return;
2200 }
2201 void parser___ReduceAction3___action(val_t self, val_t param0) {
2202 struct trace_t trace = {NULL, NULL, 918, LOCATE_parser___ReduceAction3___action};
2203 val_t variable[12];
2204 void **closurevariable = NULL;
2205 trace.prev = tracehead; tracehead = &trace;
2206 trace.file = LOCATE_parser;
2207 variable[0] = self;
2208 variable[1] = param0;
2209 variable[3] = NIT_NULL /*null*/;
2210 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2211 variable[4] = variable[5];
2212 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2213 variable[5] = variable[6];
2214 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2215 variable[6] = variable[7];
2216 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2217 variable[7] = variable[8];
2218 variable[8] = variable[5] /*nodearraylist1*/;
2219 variable[9] = TAG_Bool(( variable[8] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
2220 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction3___action, LOCATE_parser, 926); nit_exit(1);}
2221 variable[9] = variable[4] /*nodearraylist2*/;
2222 variable[10] = TAG_Bool(( variable[9] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2223 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction3___action, LOCATE_parser, 928); nit_exit(1);}
2224 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[9] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[9] /*listnode3*/)( variable[9] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2225 if (UNTAG_Bool(variable[10])) { /*if*/
2226 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode4*/)( variable[6] /*listnode4*/) /*AbstractArray::is_empty*/;
2227 if (UNTAG_Bool(variable[10])) { /*if*/
2228 variable[6] = variable[9] /*listnode3*/ /*listnode4=*/;
2229 } else { /*if*/
2230 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode4*/)( variable[6] /*listnode4*/, variable[9] /*listnode3*/) /*IndexedCollection::append*/;
2231 }
2232 }
2233 variable[11] = NEW_AModule_parser_prod___AModule___init_amodule( variable[8] /*ppackagedeclnode2*/, variable[6] /*listnode4*/, variable[7] /*listnode5*/); /*new AModule*/
2234 variable[10] = variable[11];
2235 variable[3] = variable[10] /*pmodulenode1*/ /*node_list=*/;
2236 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2237 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
2238 return_label38: while(false);
2239 tracehead = trace.prev;
2240 return;
2241 }
2242 void parser___ReduceAction3___init(val_t self, int* init_table) {
2243 struct trace_t trace = {NULL, NULL, 944, LOCATE_parser___ReduceAction3___init};
2244 val_t variable[2];
2245 void **closurevariable = NULL;
2246 trace.prev = tracehead; tracehead = &trace;
2247 trace.file = LOCATE_parser;
2248 variable[0] = self;
2249 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction3].i]) return;
2250 return_label39: while(false);
2251 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction3].i] = 1;
2252 tracehead = trace.prev;
2253 return;
2254 }
2255 void parser___ReduceAction4___action(val_t self, val_t param0) {
2256 struct trace_t trace = {NULL, NULL, 948, LOCATE_parser___ReduceAction4___action};
2257 val_t variable[10];
2258 void **closurevariable = NULL;
2259 trace.prev = tracehead; tracehead = &trace;
2260 trace.file = LOCATE_parser;
2261 variable[0] = self;
2262 variable[1] = param0;
2263 variable[3] = NIT_NULL /*null*/;
2264 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2265 variable[4] = variable[5];
2266 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2267 variable[5] = variable[6];
2268 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2269 variable[6] = variable[7];
2270 variable[7] = variable[4] /*nodearraylist1*/;
2271 variable[8] = TAG_Bool(( variable[7] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2272 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction4___action, LOCATE_parser, 955); nit_exit(1);}
2273 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*listnode4*/)( variable[7] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2274 if (UNTAG_Bool(variable[8])) { /*if*/
2275 variable[8] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
2276 if (UNTAG_Bool(variable[8])) { /*if*/
2277 variable[6] = variable[7] /*listnode4*/ /*listnode5=*/;
2278 } else { /*if*/
2279 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[7] /*listnode4*/) /*IndexedCollection::append*/;
2280 }
2281 }
2282 variable[9] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[5] /*listnode3*/, variable[6] /*listnode5*/); /*new AModule*/
2283 variable[8] = variable[9];
2284 variable[3] = variable[8] /*pmodulenode1*/ /*node_list=*/;
2285 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2286 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
2287 return_label40: while(false);
2288 tracehead = trace.prev;
2289 return;
2290 }
2291 void parser___ReduceAction4___init(val_t self, int* init_table) {
2292 struct trace_t trace = {NULL, NULL, 971, LOCATE_parser___ReduceAction4___init};
2293 val_t variable[2];
2294 void **closurevariable = NULL;
2295 trace.prev = tracehead; tracehead = &trace;
2296 trace.file = LOCATE_parser;
2297 variable[0] = self;
2298 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction4].i]) return;
2299 return_label41: while(false);
2300 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction4].i] = 1;
2301 tracehead = trace.prev;
2302 return;
2303 }
2304 void parser___ReduceAction5___action(val_t self, val_t param0) {
2305 struct trace_t trace = {NULL, NULL, 975, LOCATE_parser___ReduceAction5___action};
2306 val_t variable[12];
2307 void **closurevariable = NULL;
2308 trace.prev = tracehead; tracehead = &trace;
2309 trace.file = LOCATE_parser;
2310 variable[0] = self;
2311 variable[1] = param0;
2312 variable[3] = NIT_NULL /*null*/;
2313 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2314 variable[4] = variable[5];
2315 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2316 variable[5] = variable[6];
2317 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2318 variable[6] = variable[7];
2319 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2320 variable[7] = variable[8];
2321 variable[8] = variable[5] /*nodearraylist1*/;
2322 variable[9] = TAG_Bool(( variable[8] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
2323 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction5___action, LOCATE_parser, 983); nit_exit(1);}
2324 variable[9] = variable[4] /*nodearraylist2*/;
2325 variable[10] = TAG_Bool(( variable[9] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2326 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction5___action, LOCATE_parser, 985); nit_exit(1);}
2327 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[9] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2328 if (UNTAG_Bool(variable[10])) { /*if*/
2329 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
2330 if (UNTAG_Bool(variable[10])) { /*if*/
2331 variable[7] = variable[9] /*listnode4*/ /*listnode5=*/;
2332 } else { /*if*/
2333 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[9] /*listnode4*/) /*IndexedCollection::append*/;
2334 }
2335 }
2336 variable[11] = NEW_AModule_parser_prod___AModule___init_amodule( variable[8] /*ppackagedeclnode2*/, variable[6] /*listnode3*/, variable[7] /*listnode5*/); /*new AModule*/
2337 variable[10] = variable[11];
2338 variable[3] = variable[10] /*pmodulenode1*/ /*node_list=*/;
2339 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2340 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
2341 return_label42: while(false);
2342 tracehead = trace.prev;
2343 return;
2344 }
2345 void parser___ReduceAction5___init(val_t self, int* init_table) {
2346 struct trace_t trace = {NULL, NULL, 1001, LOCATE_parser___ReduceAction5___init};
2347 val_t variable[2];
2348 void **closurevariable = NULL;
2349 trace.prev = tracehead; tracehead = &trace;
2350 trace.file = LOCATE_parser;
2351 variable[0] = self;
2352 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction5].i]) return;
2353 return_label43: while(false);
2354 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction5].i] = 1;
2355 tracehead = trace.prev;
2356 return;
2357 }
2358 void parser___ReduceAction6___action(val_t self, val_t param0) {
2359 struct trace_t trace = {NULL, NULL, 1005, LOCATE_parser___ReduceAction6___action};
2360 val_t variable[12];
2361 void **closurevariable = NULL;
2362 trace.prev = tracehead; tracehead = &trace;
2363 trace.file = LOCATE_parser;
2364 variable[0] = self;
2365 variable[1] = param0;
2366 variable[3] = NIT_NULL /*null*/;
2367 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2368 variable[4] = variable[5];
2369 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2370 variable[5] = variable[6];
2371 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2372 variable[6] = variable[7];
2373 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2374 variable[7] = variable[8];
2375 variable[8] = variable[5] /*nodearraylist1*/;
2376 variable[9] = TAG_Bool(( variable[8] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2377 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction6___action, LOCATE_parser, 1013); nit_exit(1);}
2378 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*listnode3*/)( variable[8] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2379 if (UNTAG_Bool(variable[9])) { /*if*/
2380 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode4*/)( variable[6] /*listnode4*/) /*AbstractArray::is_empty*/;
2381 if (UNTAG_Bool(variable[9])) { /*if*/
2382 variable[6] = variable[8] /*listnode3*/ /*listnode4=*/;
2383 } else { /*if*/
2384 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode4*/)( variable[6] /*listnode4*/, variable[8] /*listnode3*/) /*IndexedCollection::append*/;
2385 }
2386 }
2387 variable[9] = variable[4] /*nodearraylist2*/;
2388 variable[10] = TAG_Bool(( variable[9] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2389 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction6___action, LOCATE_parser, 1022); nit_exit(1);}
2390 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[9] /*listnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[9] /*listnode5*/)( variable[9] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2391 if (UNTAG_Bool(variable[10])) { /*if*/
2392 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode6*/)( variable[7] /*listnode6*/) /*AbstractArray::is_empty*/;
2393 if (UNTAG_Bool(variable[10])) { /*if*/
2394 variable[7] = variable[9] /*listnode5*/ /*listnode6=*/;
2395 } else { /*if*/
2396 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode6*/)( variable[7] /*listnode6*/, variable[9] /*listnode5*/) /*IndexedCollection::append*/;
2397 }
2398 }
2399 variable[11] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[6] /*listnode4*/, variable[7] /*listnode6*/); /*new AModule*/
2400 variable[10] = variable[11];
2401 variable[3] = variable[10] /*pmodulenode1*/ /*node_list=*/;
2402 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2403 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
2404 return_label44: while(false);
2405 tracehead = trace.prev;
2406 return;
2407 }
2408 void parser___ReduceAction6___init(val_t self, int* init_table) {
2409 struct trace_t trace = {NULL, NULL, 1038, LOCATE_parser___ReduceAction6___init};
2410 val_t variable[2];
2411 void **closurevariable = NULL;
2412 trace.prev = tracehead; tracehead = &trace;
2413 trace.file = LOCATE_parser;
2414 variable[0] = self;
2415 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction6].i]) return;
2416 return_label45: while(false);
2417 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction6].i] = 1;
2418 tracehead = trace.prev;
2419 return;
2420 }
2421 void parser___ReduceAction7___action(val_t self, val_t param0) {
2422 struct trace_t trace = {NULL, NULL, 1042, LOCATE_parser___ReduceAction7___action};
2423 val_t variable[14];
2424 void **closurevariable = NULL;
2425 trace.prev = tracehead; tracehead = &trace;
2426 trace.file = LOCATE_parser;
2427 variable[0] = self;
2428 variable[1] = param0;
2429 variable[3] = NIT_NULL /*null*/;
2430 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2431 variable[4] = variable[5];
2432 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2433 variable[5] = variable[6];
2434 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2435 variable[6] = variable[7];
2436 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2437 variable[7] = variable[8];
2438 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2439 variable[8] = variable[9];
2440 variable[9] = variable[6] /*nodearraylist1*/;
2441 variable[10] = TAG_Bool(( variable[9] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
2442 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction7___action, LOCATE_parser, 1051); nit_exit(1);}
2443 variable[10] = variable[5] /*nodearraylist2*/;
2444 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2445 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction7___action, LOCATE_parser, 1053); nit_exit(1);}
2446 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2447 if (UNTAG_Bool(variable[11])) { /*if*/
2448 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode4*/)( variable[7] /*listnode4*/) /*AbstractArray::is_empty*/;
2449 if (UNTAG_Bool(variable[11])) { /*if*/
2450 variable[7] = variable[10] /*listnode3*/ /*listnode4=*/;
2451 } else { /*if*/
2452 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode4*/)( variable[7] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
2453 }
2454 }
2455 variable[11] = variable[4] /*nodearraylist3*/;
2456 variable[12] = TAG_Bool(( variable[11] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2457 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction7___action, LOCATE_parser, 1062); nit_exit(1);}
2458 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode5*/)( variable[11] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2459 if (UNTAG_Bool(variable[12])) { /*if*/
2460 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode6*/)( variable[8] /*listnode6*/) /*AbstractArray::is_empty*/;
2461 if (UNTAG_Bool(variable[12])) { /*if*/
2462 variable[8] = variable[11] /*listnode5*/ /*listnode6=*/;
2463 } else { /*if*/
2464 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[11] /*listnode5*/) /*IndexedCollection::append*/;
2465 }
2466 }
2467 variable[13] = NEW_AModule_parser_prod___AModule___init_amodule( variable[9] /*ppackagedeclnode2*/, variable[7] /*listnode4*/, variable[8] /*listnode6*/); /*new AModule*/
2468 variable[12] = variable[13];
2469 variable[3] = variable[12] /*pmodulenode1*/ /*node_list=*/;
2470 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2471 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
2472 return_label46: while(false);
2473 tracehead = trace.prev;
2474 return;
2475 }
2476 void parser___ReduceAction7___init(val_t self, int* init_table) {
2477 struct trace_t trace = {NULL, NULL, 1078, LOCATE_parser___ReduceAction7___init};
2478 val_t variable[2];
2479 void **closurevariable = NULL;
2480 trace.prev = tracehead; tracehead = &trace;
2481 trace.file = LOCATE_parser;
2482 variable[0] = self;
2483 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction7].i]) return;
2484 return_label47: while(false);
2485 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction7].i] = 1;
2486 tracehead = trace.prev;
2487 return;
2488 }
2489 void parser___ReduceAction8___action(val_t self, val_t param0) {
2490 struct trace_t trace = {NULL, NULL, 1082, LOCATE_parser___ReduceAction8___action};
2491 val_t variable[13];
2492 void **closurevariable = NULL;
2493 trace.prev = tracehead; tracehead = &trace;
2494 trace.file = LOCATE_parser;
2495 variable[0] = self;
2496 variable[1] = param0;
2497 variable[3] = NIT_NULL /*null*/;
2498 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2499 variable[4] = variable[5];
2500 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2501 variable[5] = variable[6];
2502 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2503 variable[6] = variable[7];
2504 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2505 variable[7] = variable[8];
2506 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2507 variable[8] = variable[9];
2508 variable[9] = variable[5] /*nodearraylist1*/;
2509 variable[10] = TAG_Bool(( variable[9] /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable[9] /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
2510 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction8___action, LOCATE_parser, 1091); nit_exit(1);}
2511 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable[9] /*ppropdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[9] /*ppropdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[9] /*ppropdefnode5*/)( variable[9] /*ppropdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2512 if (UNTAG_Bool(variable[10])) { /*if*/
2513 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[9] /*ppropdefnode5*/) /*AbstractArray::add*/;
2514 }
2515 variable[11] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[8] /*listnode6*/); /*new ATopClassdef*/
2516 variable[10] = variable[11];
2517 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*pclassdefnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*pclassdefnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*pclassdefnode4*/)( variable[10] /*pclassdefnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2518 if (UNTAG_Bool(variable[11])) { /*if*/
2519 CALL_abstract_collection___SimpleCollection___add( variable[7] /*listnode7*/)( variable[7] /*listnode7*/, variable[10] /*pclassdefnode4*/) /*AbstractArray::add*/;
2520 }
2521 variable[12] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[6] /*listnode3*/, variable[7] /*listnode7*/); /*new AModule*/
2522 variable[11] = variable[12];
2523 variable[3] = variable[11] /*pmodulenode1*/ /*node_list=*/;
2524 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2525 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
2526 return_label48: while(false);
2527 tracehead = trace.prev;
2528 return;
2529 }
2530 void parser___ReduceAction8___init(val_t self, int* init_table) {
2531 struct trace_t trace = {NULL, NULL, 1109, LOCATE_parser___ReduceAction8___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(variable[0])->vft[INIT_TABLE_POS_ReduceAction8].i]) return;
2538 return_label49: while(false);
2539 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction8].i] = 1;
2540 tracehead = trace.prev;
2541 return;
2542 }
2543 void parser___ReduceAction9___action(val_t self, val_t param0) {
2544 struct trace_t trace = {NULL, NULL, 1113, LOCATE_parser___ReduceAction9___action};
2545 val_t variable[15];
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] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2553 variable[4] = variable[5];
2554 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2555 variable[5] = variable[6];
2556 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2557 variable[6] = variable[7];
2558 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2559 variable[7] = variable[8];
2560 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2561 variable[8] = variable[9];
2562 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2563 variable[9] = variable[10];
2564 variable[10] = variable[6] /*nodearraylist1*/;
2565 variable[11] = TAG_Bool(( variable[10] /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
2566 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction9___action, LOCATE_parser, 1123); nit_exit(1);}
2567 variable[11] = variable[4] /*nodearraylist3*/;
2568 variable[12] = TAG_Bool(( variable[11] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2569 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction9___action, LOCATE_parser, 1125); nit_exit(1);}
2570 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable[10] /*ppropdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*ppropdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*ppropdefnode5*/)( variable[10] /*ppropdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2571 if (UNTAG_Bool(variable[12])) { /*if*/
2572 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode7*/)( variable[9] /*listnode7*/, variable[10] /*ppropdefnode5*/) /*AbstractArray::add*/;
2573 }
2574 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode6*/)( variable[11] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2575 if (UNTAG_Bool(variable[12])) { /*if*/
2576 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode7*/)( variable[9] /*listnode7*/) /*AbstractArray::is_empty*/;
2577 if (UNTAG_Bool(variable[12])) { /*if*/
2578 variable[9] = variable[11] /*listnode6*/ /*listnode7=*/;
2579 } else { /*if*/
2580 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode7*/)( variable[9] /*listnode7*/, variable[11] /*listnode6*/) /*IndexedCollection::append*/;
2581 }
2582 }
2583 variable[13] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[9] /*listnode7*/); /*new ATopClassdef*/
2584 variable[12] = variable[13];
2585 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable[12] /*pclassdefnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*pclassdefnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*pclassdefnode4*/)( variable[12] /*pclassdefnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2586 if (UNTAG_Bool(variable[13])) { /*if*/
2587 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode8*/)( variable[8] /*listnode8*/, variable[12] /*pclassdefnode4*/) /*AbstractArray::add*/;
2588 }
2589 variable[14] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[7] /*listnode3*/, variable[8] /*listnode8*/); /*new AModule*/
2590 variable[13] = variable[14];
2591 variable[3] = variable[13] /*pmodulenode1*/ /*node_list=*/;
2592 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2593 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
2594 return_label50: while(false);
2595 tracehead = trace.prev;
2596 return;
2597 }
2598 void parser___ReduceAction9___init(val_t self, int* init_table) {
2599 struct trace_t trace = {NULL, NULL, 1150, LOCATE_parser___ReduceAction9___init};
2600 val_t variable[2];
2601 void **closurevariable = NULL;
2602 trace.prev = tracehead; tracehead = &trace;
2603 trace.file = LOCATE_parser;
2604 variable[0] = self;
2605 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction9].i]) return;
2606 return_label51: while(false);
2607 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction9].i] = 1;
2608 tracehead = trace.prev;
2609 return;
2610 }
2611 void parser___ReduceAction10___action(val_t self, val_t param0) {
2612 struct trace_t trace = {NULL, NULL, 1154, LOCATE_parser___ReduceAction10___action};
2613 val_t variable[15];
2614 void **closurevariable = NULL;
2615 trace.prev = tracehead; tracehead = &trace;
2616 trace.file = LOCATE_parser;
2617 variable[0] = self;
2618 variable[1] = param0;
2619 variable[3] = NIT_NULL /*null*/;
2620 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2621 variable[4] = variable[5];
2622 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2623 variable[5] = variable[6];
2624 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2625 variable[6] = variable[7];
2626 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2627 variable[7] = variable[8];
2628 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2629 variable[8] = variable[9];
2630 variable[9] = variable[6] /*nodearraylist1*/;
2631 variable[10] = TAG_Bool(( variable[9] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
2632 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction10___action, LOCATE_parser, 1163); nit_exit(1);}
2633 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2634 variable[10] = variable[11];
2635 variable[11] = variable[5] /*nodearraylist2*/;
2636 variable[12] = TAG_Bool(( variable[11] /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
2637 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction10___action, LOCATE_parser, 1166); nit_exit(1);}
2638 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable[11] /*ppropdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*ppropdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*ppropdefnode5*/)( variable[11] /*ppropdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2639 if (UNTAG_Bool(variable[12])) { /*if*/
2640 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode6*/)( variable[10] /*listnode6*/, variable[11] /*ppropdefnode5*/) /*AbstractArray::add*/;
2641 }
2642 variable[13] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[10] /*listnode6*/); /*new ATopClassdef*/
2643 variable[12] = variable[13];
2644 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable[12] /*pclassdefnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*pclassdefnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*pclassdefnode4*/)( variable[12] /*pclassdefnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2645 if (UNTAG_Bool(variable[13])) { /*if*/
2646 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode7*/)( variable[8] /*listnode7*/, variable[12] /*pclassdefnode4*/) /*AbstractArray::add*/;
2647 }
2648 variable[14] = NEW_AModule_parser_prod___AModule___init_amodule( variable[9] /*ppackagedeclnode2*/, variable[7] /*listnode3*/, variable[8] /*listnode7*/); /*new AModule*/
2649 variable[13] = variable[14];
2650 variable[3] = variable[13] /*pmodulenode1*/ /*node_list=*/;
2651 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2652 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
2653 return_label52: while(false);
2654 tracehead = trace.prev;
2655 return;
2656 }
2657 void parser___ReduceAction10___init(val_t self, int* init_table) {
2658 struct trace_t trace = {NULL, NULL, 1184, LOCATE_parser___ReduceAction10___init};
2659 val_t variable[2];
2660 void **closurevariable = NULL;
2661 trace.prev = tracehead; tracehead = &trace;
2662 trace.file = LOCATE_parser;
2663 variable[0] = self;
2664 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction10].i]) return;
2665 return_label53: while(false);
2666 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction10].i] = 1;
2667 tracehead = trace.prev;
2668 return;
2669 }
2670 void parser___ReduceAction11___action(val_t self, val_t param0) {
2671 struct trace_t trace = {NULL, NULL, 1188, LOCATE_parser___ReduceAction11___action};
2672 val_t variable[17];
2673 void **closurevariable = NULL;
2674 trace.prev = tracehead; tracehead = &trace;
2675 trace.file = LOCATE_parser;
2676 variable[0] = self;
2677 variable[1] = param0;
2678 variable[3] = NIT_NULL /*null*/;
2679 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2680 variable[4] = variable[5];
2681 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2682 variable[5] = variable[6];
2683 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2684 variable[6] = variable[7];
2685 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2686 variable[7] = variable[8];
2687 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2688 variable[8] = variable[9];
2689 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2690 variable[9] = variable[10];
2691 variable[10] = variable[7] /*nodearraylist1*/;
2692 variable[11] = TAG_Bool(( variable[10] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
2693 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction11___action, LOCATE_parser, 1198); nit_exit(1);}
2694 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2695 variable[11] = variable[12];
2696 variable[12] = variable[6] /*nodearraylist2*/;
2697 variable[13] = TAG_Bool(( variable[12] /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
2698 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction11___action, LOCATE_parser, 1201); nit_exit(1);}
2699 variable[13] = variable[4] /*nodearraylist4*/;
2700 variable[14] = TAG_Bool(( variable[13] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2701 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction11___action, LOCATE_parser, 1203); nit_exit(1);}
2702 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable[12] /*ppropdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*ppropdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*ppropdefnode5*/)( variable[12] /*ppropdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2703 if (UNTAG_Bool(variable[14])) { /*if*/
2704 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[12] /*ppropdefnode5*/) /*AbstractArray::add*/;
2705 }
2706 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*listnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*listnode6*/)( variable[13] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2707 if (UNTAG_Bool(variable[14])) { /*if*/
2708 variable[14] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode7*/)( variable[11] /*listnode7*/) /*AbstractArray::is_empty*/;
2709 if (UNTAG_Bool(variable[14])) { /*if*/
2710 variable[11] = variable[13] /*listnode6*/ /*listnode7=*/;
2711 } else { /*if*/
2712 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[13] /*listnode6*/) /*IndexedCollection::append*/;
2713 }
2714 }
2715 variable[15] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[11] /*listnode7*/); /*new ATopClassdef*/
2716 variable[14] = variable[15];
2717 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*pclassdefnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*pclassdefnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*pclassdefnode4*/)( variable[14] /*pclassdefnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2718 if (UNTAG_Bool(variable[15])) { /*if*/
2719 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode8*/)( variable[9] /*listnode8*/, variable[14] /*pclassdefnode4*/) /*AbstractArray::add*/;
2720 }
2721 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( variable[10] /*ppackagedeclnode2*/, variable[8] /*listnode3*/, variable[9] /*listnode8*/); /*new AModule*/
2722 variable[15] = variable[16];
2723 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
2724 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2725 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
2726 return_label54: while(false);
2727 tracehead = trace.prev;
2728 return;
2729 }
2730 void parser___ReduceAction11___init(val_t self, int* init_table) {
2731 struct trace_t trace = {NULL, NULL, 1228, LOCATE_parser___ReduceAction11___init};
2732 val_t variable[2];
2733 void **closurevariable = NULL;
2734 trace.prev = tracehead; tracehead = &trace;
2735 trace.file = LOCATE_parser;
2736 variable[0] = self;
2737 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction11].i]) return;
2738 return_label55: while(false);
2739 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction11].i] = 1;
2740 tracehead = trace.prev;
2741 return;
2742 }
2743 void parser___ReduceAction12___action(val_t self, val_t param0) {
2744 struct trace_t trace = {NULL, NULL, 1232, LOCATE_parser___ReduceAction12___action};
2745 val_t variable[15];
2746 void **closurevariable = NULL;
2747 trace.prev = tracehead; tracehead = &trace;
2748 trace.file = LOCATE_parser;
2749 variable[0] = self;
2750 variable[1] = param0;
2751 variable[3] = NIT_NULL /*null*/;
2752 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2753 variable[4] = variable[5];
2754 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2755 variable[5] = variable[6];
2756 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2757 variable[6] = variable[7];
2758 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2759 variable[7] = variable[8];
2760 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2761 variable[8] = variable[9];
2762 variable[9] = variable[6] /*nodearraylist1*/;
2763 variable[10] = TAG_Bool(( variable[9] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2764 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction12___action, LOCATE_parser, 1241); nit_exit(1);}
2765 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[9] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[9] /*listnode3*/)( variable[9] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2766 if (UNTAG_Bool(variable[10])) { /*if*/
2767 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode4*/)( variable[7] /*listnode4*/) /*AbstractArray::is_empty*/;
2768 if (UNTAG_Bool(variable[10])) { /*if*/
2769 variable[7] = variable[9] /*listnode3*/ /*listnode4=*/;
2770 } else { /*if*/
2771 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode4*/)( variable[7] /*listnode4*/, variable[9] /*listnode3*/) /*IndexedCollection::append*/;
2772 }
2773 }
2774 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2775 variable[10] = variable[11];
2776 variable[11] = variable[5] /*nodearraylist2*/;
2777 variable[12] = TAG_Bool(( variable[11] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[11] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
2778 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction12___action, LOCATE_parser, 1251); nit_exit(1);}
2779 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[11] /*ppropdefnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*ppropdefnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*ppropdefnode6*/)( variable[11] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2780 if (UNTAG_Bool(variable[12])) { /*if*/
2781 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode7*/)( variable[10] /*listnode7*/, variable[11] /*ppropdefnode6*/) /*AbstractArray::add*/;
2782 }
2783 variable[13] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[10] /*listnode7*/); /*new ATopClassdef*/
2784 variable[12] = variable[13];
2785 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[12] /*pclassdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*pclassdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*pclassdefnode5*/)( variable[12] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2786 if (UNTAG_Bool(variable[13])) { /*if*/
2787 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode8*/)( variable[8] /*listnode8*/, variable[12] /*pclassdefnode5*/) /*AbstractArray::add*/;
2788 }
2789 variable[14] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[7] /*listnode4*/, variable[8] /*listnode8*/); /*new AModule*/
2790 variable[13] = variable[14];
2791 variable[3] = variable[13] /*pmodulenode1*/ /*node_list=*/;
2792 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2793 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
2794 return_label56: while(false);
2795 tracehead = trace.prev;
2796 return;
2797 }
2798 void parser___ReduceAction12___init(val_t self, int* init_table) {
2799 struct trace_t trace = {NULL, NULL, 1269, LOCATE_parser___ReduceAction12___init};
2800 val_t variable[2];
2801 void **closurevariable = NULL;
2802 trace.prev = tracehead; tracehead = &trace;
2803 trace.file = LOCATE_parser;
2804 variable[0] = self;
2805 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction12].i]) return;
2806 return_label57: while(false);
2807 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction12].i] = 1;
2808 tracehead = trace.prev;
2809 return;
2810 }
2811 void parser___ReduceAction13___action(val_t self, val_t param0) {
2812 struct trace_t trace = {NULL, NULL, 1273, LOCATE_parser___ReduceAction13___action};
2813 val_t variable[17];
2814 void **closurevariable = NULL;
2815 trace.prev = tracehead; tracehead = &trace;
2816 trace.file = LOCATE_parser;
2817 variable[0] = self;
2818 variable[1] = param0;
2819 variable[3] = NIT_NULL /*null*/;
2820 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2821 variable[4] = variable[5];
2822 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2823 variable[5] = variable[6];
2824 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2825 variable[6] = variable[7];
2826 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2827 variable[7] = variable[8];
2828 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2829 variable[8] = variable[9];
2830 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2831 variable[9] = variable[10];
2832 variable[10] = variable[7] /*nodearraylist1*/;
2833 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2834 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction13___action, LOCATE_parser, 1283); nit_exit(1);}
2835 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2836 if (UNTAG_Bool(variable[11])) { /*if*/
2837 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode4*/)( variable[8] /*listnode4*/) /*AbstractArray::is_empty*/;
2838 if (UNTAG_Bool(variable[11])) { /*if*/
2839 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
2840 } else { /*if*/
2841 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
2842 }
2843 }
2844 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2845 variable[11] = variable[12];
2846 variable[12] = variable[6] /*nodearraylist2*/;
2847 variable[13] = TAG_Bool(( variable[12] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
2848 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction13___action, LOCATE_parser, 1293); nit_exit(1);}
2849 variable[13] = variable[4] /*nodearraylist4*/;
2850 variable[14] = TAG_Bool(( variable[13] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2851 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction13___action, LOCATE_parser, 1295); nit_exit(1);}
2852 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*ppropdefnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*ppropdefnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*ppropdefnode6*/)( variable[12] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2853 if (UNTAG_Bool(variable[14])) { /*if*/
2854 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode8*/)( variable[11] /*listnode8*/, variable[12] /*ppropdefnode6*/) /*AbstractArray::add*/;
2855 }
2856 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*listnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*listnode7*/)( variable[13] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2857 if (UNTAG_Bool(variable[14])) { /*if*/
2858 variable[14] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode8*/)( variable[11] /*listnode8*/) /*AbstractArray::is_empty*/;
2859 if (UNTAG_Bool(variable[14])) { /*if*/
2860 variable[11] = variable[13] /*listnode7*/ /*listnode8=*/;
2861 } else { /*if*/
2862 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode8*/)( variable[11] /*listnode8*/, variable[13] /*listnode7*/) /*IndexedCollection::append*/;
2863 }
2864 }
2865 variable[15] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[11] /*listnode8*/); /*new ATopClassdef*/
2866 variable[14] = variable[15];
2867 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[14] /*pclassdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*pclassdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*pclassdefnode5*/)( variable[14] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2868 if (UNTAG_Bool(variable[15])) { /*if*/
2869 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode9*/)( variable[9] /*listnode9*/, variable[14] /*pclassdefnode5*/) /*AbstractArray::add*/;
2870 }
2871 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[8] /*listnode4*/, variable[9] /*listnode9*/); /*new AModule*/
2872 variable[15] = variable[16];
2873 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
2874 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2875 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
2876 return_label58: while(false);
2877 tracehead = trace.prev;
2878 return;
2879 }
2880 void parser___ReduceAction13___init(val_t self, int* init_table) {
2881 struct trace_t trace = {NULL, NULL, 1320, LOCATE_parser___ReduceAction13___init};
2882 val_t variable[2];
2883 void **closurevariable = NULL;
2884 trace.prev = tracehead; tracehead = &trace;
2885 trace.file = LOCATE_parser;
2886 variable[0] = self;
2887 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction13].i]) return;
2888 return_label59: while(false);
2889 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction13].i] = 1;
2890 tracehead = trace.prev;
2891 return;
2892 }
2893 void parser___ReduceAction14___action(val_t self, val_t param0) {
2894 struct trace_t trace = {NULL, NULL, 1324, LOCATE_parser___ReduceAction14___action};
2895 val_t variable[17];
2896 void **closurevariable = NULL;
2897 trace.prev = tracehead; tracehead = &trace;
2898 trace.file = LOCATE_parser;
2899 variable[0] = self;
2900 variable[1] = param0;
2901 variable[3] = NIT_NULL /*null*/;
2902 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2903 variable[4] = variable[5];
2904 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2905 variable[5] = variable[6];
2906 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2907 variable[6] = variable[7];
2908 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2909 variable[7] = variable[8];
2910 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2911 variable[8] = variable[9];
2912 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2913 variable[9] = variable[10];
2914 variable[10] = variable[7] /*nodearraylist1*/;
2915 variable[11] = TAG_Bool(( variable[10] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
2916 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction14___action, LOCATE_parser, 1334); nit_exit(1);}
2917 variable[11] = variable[6] /*nodearraylist2*/;
2918 variable[12] = TAG_Bool(( variable[11] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2919 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction14___action, LOCATE_parser, 1336); nit_exit(1);}
2920 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode3*/)( variable[11] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2921 if (UNTAG_Bool(variable[12])) { /*if*/
2922 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode4*/)( variable[8] /*listnode4*/) /*AbstractArray::is_empty*/;
2923 if (UNTAG_Bool(variable[12])) { /*if*/
2924 variable[8] = variable[11] /*listnode3*/ /*listnode4=*/;
2925 } else { /*if*/
2926 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, variable[11] /*listnode3*/) /*IndexedCollection::append*/;
2927 }
2928 }
2929 variable[13] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2930 variable[12] = variable[13];
2931 variable[13] = variable[5] /*nodearraylist3*/;
2932 variable[14] = TAG_Bool(( variable[13] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[13] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
2933 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction14___action, LOCATE_parser, 1346); nit_exit(1);}
2934 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[13] /*ppropdefnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*ppropdefnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*ppropdefnode6*/)( variable[13] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2935 if (UNTAG_Bool(variable[14])) { /*if*/
2936 CALL_abstract_collection___SimpleCollection___add( variable[12] /*listnode7*/)( variable[12] /*listnode7*/, variable[13] /*ppropdefnode6*/) /*AbstractArray::add*/;
2937 }
2938 variable[15] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[12] /*listnode7*/); /*new ATopClassdef*/
2939 variable[14] = variable[15];
2940 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[14] /*pclassdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*pclassdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*pclassdefnode5*/)( variable[14] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2941 if (UNTAG_Bool(variable[15])) { /*if*/
2942 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode8*/)( variable[9] /*listnode8*/, variable[14] /*pclassdefnode5*/) /*AbstractArray::add*/;
2943 }
2944 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( variable[10] /*ppackagedeclnode2*/, variable[8] /*listnode4*/, variable[9] /*listnode8*/); /*new AModule*/
2945 variable[15] = variable[16];
2946 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
2947 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2948 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
2949 return_label60: while(false);
2950 tracehead = trace.prev;
2951 return;
2952 }
2953 void parser___ReduceAction14___init(val_t self, int* init_table) {
2954 struct trace_t trace = {NULL, NULL, 1364, LOCATE_parser___ReduceAction14___init};
2955 val_t variable[2];
2956 void **closurevariable = NULL;
2957 trace.prev = tracehead; tracehead = &trace;
2958 trace.file = LOCATE_parser;
2959 variable[0] = self;
2960 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction14].i]) return;
2961 return_label61: while(false);
2962 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction14].i] = 1;
2963 tracehead = trace.prev;
2964 return;
2965 }
2966 void parser___ReduceAction15___action(val_t self, val_t param0) {
2967 struct trace_t trace = {NULL, NULL, 1368, LOCATE_parser___ReduceAction15___action};
2968 val_t variable[19];
2969 void **closurevariable = NULL;
2970 trace.prev = tracehead; tracehead = &trace;
2971 trace.file = LOCATE_parser;
2972 variable[0] = self;
2973 variable[1] = param0;
2974 variable[3] = NIT_NULL /*null*/;
2975 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2976 variable[4] = variable[5];
2977 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2978 variable[5] = variable[6];
2979 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2980 variable[6] = variable[7];
2981 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2982 variable[7] = variable[8];
2983 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
2984 variable[8] = variable[9];
2985 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2986 variable[9] = variable[10];
2987 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2988 variable[10] = variable[11];
2989 variable[11] = variable[8] /*nodearraylist1*/;
2990 variable[12] = TAG_Bool(( variable[11] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
2991 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction15___action, LOCATE_parser, 1379); nit_exit(1);}
2992 variable[12] = variable[7] /*nodearraylist2*/;
2993 variable[13] = TAG_Bool(( variable[12] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2994 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction15___action, LOCATE_parser, 1381); nit_exit(1);}
2995 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode3*/)( variable[12] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2996 if (UNTAG_Bool(variable[13])) { /*if*/
2997 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode4*/)( variable[9] /*listnode4*/) /*AbstractArray::is_empty*/;
2998 if (UNTAG_Bool(variable[13])) { /*if*/
2999 variable[9] = variable[12] /*listnode3*/ /*listnode4=*/;
3000 } else { /*if*/
3001 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, variable[12] /*listnode3*/) /*IndexedCollection::append*/;
3002 }
3003 }
3004 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3005 variable[13] = variable[14];
3006 variable[14] = variable[6] /*nodearraylist3*/;
3007 variable[15] = TAG_Bool(( variable[14] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3008 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction15___action, LOCATE_parser, 1391); nit_exit(1);}
3009 variable[15] = variable[4] /*nodearraylist5*/;
3010 variable[16] = TAG_Bool(( variable[15] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3011 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction15___action, LOCATE_parser, 1393); nit_exit(1);}
3012 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[14] /*ppropdefnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*ppropdefnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*ppropdefnode6*/)( variable[14] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3013 if (UNTAG_Bool(variable[16])) { /*if*/
3014 CALL_abstract_collection___SimpleCollection___add( variable[13] /*listnode8*/)( variable[13] /*listnode8*/, variable[14] /*ppropdefnode6*/) /*AbstractArray::add*/;
3015 }
3016 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*listnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*listnode7*/)( variable[15] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3017 if (UNTAG_Bool(variable[16])) { /*if*/
3018 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[13] /*listnode8*/)( variable[13] /*listnode8*/) /*AbstractArray::is_empty*/;
3019 if (UNTAG_Bool(variable[16])) { /*if*/
3020 variable[13] = variable[15] /*listnode7*/ /*listnode8=*/;
3021 } else { /*if*/
3022 CALL_abstract_collection___IndexedCollection___append( variable[13] /*listnode8*/)( variable[13] /*listnode8*/, variable[15] /*listnode7*/) /*IndexedCollection::append*/;
3023 }
3024 }
3025 variable[17] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[13] /*listnode8*/); /*new ATopClassdef*/
3026 variable[16] = variable[17];
3027 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[16] /*pclassdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[16] /*pclassdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[16] /*pclassdefnode5*/)( variable[16] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3028 if (UNTAG_Bool(variable[17])) { /*if*/
3029 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode9*/)( variable[10] /*listnode9*/, variable[16] /*pclassdefnode5*/) /*AbstractArray::add*/;
3030 }
3031 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( variable[11] /*ppackagedeclnode2*/, variable[9] /*listnode4*/, variable[10] /*listnode9*/); /*new AModule*/
3032 variable[17] = variable[18];
3033 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
3034 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3035 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
3036 return_label62: while(false);
3037 tracehead = trace.prev;
3038 return;
3039 }
3040 void parser___ReduceAction15___init(val_t self, int* init_table) {
3041 struct trace_t trace = {NULL, NULL, 1418, LOCATE_parser___ReduceAction15___init};
3042 val_t variable[2];
3043 void **closurevariable = NULL;
3044 trace.prev = tracehead; tracehead = &trace;
3045 trace.file = LOCATE_parser;
3046 variable[0] = self;
3047 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction15].i]) return;
3048 return_label63: while(false);
3049 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction15].i] = 1;
3050 tracehead = trace.prev;
3051 return;
3052 }
3053 void parser___ReduceAction16___action(val_t self, val_t param0) {
3054 struct trace_t trace = {NULL, NULL, 1422, LOCATE_parser___ReduceAction16___action};
3055 val_t variable[15];
3056 void **closurevariable = NULL;
3057 trace.prev = tracehead; tracehead = &trace;
3058 trace.file = LOCATE_parser;
3059 variable[0] = self;
3060 variable[1] = param0;
3061 variable[3] = NIT_NULL /*null*/;
3062 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3063 variable[4] = variable[5];
3064 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3065 variable[5] = variable[6];
3066 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3067 variable[6] = variable[7];
3068 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3069 variable[7] = variable[8];
3070 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3071 variable[8] = variable[9];
3072 variable[9] = variable[6] /*nodearraylist1*/;
3073 variable[10] = TAG_Bool(( variable[9] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3074 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction16___action, LOCATE_parser, 1431); nit_exit(1);}
3075 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3076 variable[10] = variable[11];
3077 variable[11] = variable[5] /*nodearraylist2*/;
3078 variable[12] = TAG_Bool(( variable[11] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[11] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3079 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction16___action, LOCATE_parser, 1434); nit_exit(1);}
3080 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[11] /*ppropdefnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*ppropdefnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*ppropdefnode6*/)( variable[11] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3081 if (UNTAG_Bool(variable[12])) { /*if*/
3082 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode7*/)( variable[10] /*listnode7*/, variable[11] /*ppropdefnode6*/) /*AbstractArray::add*/;
3083 }
3084 variable[13] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[10] /*listnode7*/); /*new ATopClassdef*/
3085 variable[12] = variable[13];
3086 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[9] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3087 if (UNTAG_Bool(variable[13])) { /*if*/
3088 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode8*/)( variable[8] /*listnode8*/) /*AbstractArray::is_empty*/;
3089 if (UNTAG_Bool(variable[13])) { /*if*/
3090 variable[8] = variable[9] /*listnode4*/ /*listnode8=*/;
3091 } else { /*if*/
3092 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode8*/)( variable[8] /*listnode8*/, variable[9] /*listnode4*/) /*IndexedCollection::append*/;
3093 }
3094 }
3095 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[12] /*pclassdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*pclassdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*pclassdefnode5*/)( variable[12] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3096 if (UNTAG_Bool(variable[13])) { /*if*/
3097 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode8*/)( variable[8] /*listnode8*/, variable[12] /*pclassdefnode5*/) /*AbstractArray::add*/;
3098 }
3099 variable[14] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[7] /*listnode3*/, variable[8] /*listnode8*/); /*new AModule*/
3100 variable[13] = variable[14];
3101 variable[3] = variable[13] /*pmodulenode1*/ /*node_list=*/;
3102 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3103 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
3104 return_label64: while(false);
3105 tracehead = trace.prev;
3106 return;
3107 }
3108 void parser___ReduceAction16___init(val_t self, int* init_table) {
3109 struct trace_t trace = {NULL, NULL, 1459, LOCATE_parser___ReduceAction16___init};
3110 val_t variable[2];
3111 void **closurevariable = NULL;
3112 trace.prev = tracehead; tracehead = &trace;
3113 trace.file = LOCATE_parser;
3114 variable[0] = self;
3115 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction16].i]) return;
3116 return_label65: while(false);
3117 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction16].i] = 1;
3118 tracehead = trace.prev;
3119 return;
3120 }
3121 void parser___ReduceAction17___action(val_t self, val_t param0) {
3122 struct trace_t trace = {NULL, NULL, 1463, LOCATE_parser___ReduceAction17___action};
3123 val_t variable[17];
3124 void **closurevariable = NULL;
3125 trace.prev = tracehead; tracehead = &trace;
3126 trace.file = LOCATE_parser;
3127 variable[0] = self;
3128 variable[1] = param0;
3129 variable[3] = NIT_NULL /*null*/;
3130 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3131 variable[4] = variable[5];
3132 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3133 variable[5] = variable[6];
3134 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3135 variable[6] = variable[7];
3136 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3137 variable[7] = variable[8];
3138 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3139 variable[8] = variable[9];
3140 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3141 variable[9] = variable[10];
3142 variable[10] = variable[7] /*nodearraylist1*/;
3143 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3144 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction17___action, LOCATE_parser, 1473); nit_exit(1);}
3145 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3146 variable[11] = variable[12];
3147 variable[12] = variable[6] /*nodearraylist2*/;
3148 variable[13] = TAG_Bool(( variable[12] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3149 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction17___action, LOCATE_parser, 1476); nit_exit(1);}
3150 variable[13] = variable[4] /*nodearraylist4*/;
3151 variable[14] = TAG_Bool(( variable[13] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3152 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction17___action, LOCATE_parser, 1478); nit_exit(1);}
3153 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*ppropdefnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*ppropdefnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*ppropdefnode6*/)( variable[12] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3154 if (UNTAG_Bool(variable[14])) { /*if*/
3155 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode8*/)( variable[11] /*listnode8*/, variable[12] /*ppropdefnode6*/) /*AbstractArray::add*/;
3156 }
3157 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*listnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*listnode7*/)( variable[13] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3158 if (UNTAG_Bool(variable[14])) { /*if*/
3159 variable[14] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode8*/)( variable[11] /*listnode8*/) /*AbstractArray::is_empty*/;
3160 if (UNTAG_Bool(variable[14])) { /*if*/
3161 variable[11] = variable[13] /*listnode7*/ /*listnode8=*/;
3162 } else { /*if*/
3163 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode8*/)( variable[11] /*listnode8*/, variable[13] /*listnode7*/) /*IndexedCollection::append*/;
3164 }
3165 }
3166 variable[15] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[11] /*listnode8*/); /*new ATopClassdef*/
3167 variable[14] = variable[15];
3168 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3169 if (UNTAG_Bool(variable[15])) { /*if*/
3170 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode9*/)( variable[9] /*listnode9*/) /*AbstractArray::is_empty*/;
3171 if (UNTAG_Bool(variable[15])) { /*if*/
3172 variable[9] = variable[10] /*listnode4*/ /*listnode9=*/;
3173 } else { /*if*/
3174 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode9*/)( variable[9] /*listnode9*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
3175 }
3176 }
3177 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[14] /*pclassdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*pclassdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*pclassdefnode5*/)( variable[14] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3178 if (UNTAG_Bool(variable[15])) { /*if*/
3179 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode9*/)( variable[9] /*listnode9*/, variable[14] /*pclassdefnode5*/) /*AbstractArray::add*/;
3180 }
3181 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[8] /*listnode3*/, variable[9] /*listnode9*/); /*new AModule*/
3182 variable[15] = variable[16];
3183 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
3184 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3185 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
3186 return_label66: while(false);
3187 tracehead = trace.prev;
3188 return;
3189 }
3190 void parser___ReduceAction17___init(val_t self, int* init_table) {
3191 struct trace_t trace = {NULL, NULL, 1510, LOCATE_parser___ReduceAction17___init};
3192 val_t variable[2];
3193 void **closurevariable = NULL;
3194 trace.prev = tracehead; tracehead = &trace;
3195 trace.file = LOCATE_parser;
3196 variable[0] = self;
3197 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction17].i]) return;
3198 return_label67: while(false);
3199 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction17].i] = 1;
3200 tracehead = trace.prev;
3201 return;
3202 }
3203 void parser___ReduceAction18___action(val_t self, val_t param0) {
3204 struct trace_t trace = {NULL, NULL, 1514, LOCATE_parser___ReduceAction18___action};
3205 val_t variable[17];
3206 void **closurevariable = NULL;
3207 trace.prev = tracehead; tracehead = &trace;
3208 trace.file = LOCATE_parser;
3209 variable[0] = self;
3210 variable[1] = param0;
3211 variable[3] = NIT_NULL /*null*/;
3212 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3213 variable[4] = variable[5];
3214 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3215 variable[5] = variable[6];
3216 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3217 variable[6] = variable[7];
3218 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3219 variable[7] = variable[8];
3220 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3221 variable[8] = variable[9];
3222 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3223 variable[9] = variable[10];
3224 variable[10] = variable[7] /*nodearraylist1*/;
3225 variable[11] = TAG_Bool(( variable[10] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
3226 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction18___action, LOCATE_parser, 1524); nit_exit(1);}
3227 variable[11] = variable[6] /*nodearraylist2*/;
3228 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3229 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction18___action, LOCATE_parser, 1526); nit_exit(1);}
3230 variable[13] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3231 variable[12] = variable[13];
3232 variable[13] = variable[5] /*nodearraylist3*/;
3233 variable[14] = TAG_Bool(( variable[13] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[13] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3234 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction18___action, LOCATE_parser, 1529); nit_exit(1);}
3235 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[13] /*ppropdefnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*ppropdefnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*ppropdefnode6*/)( variable[13] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3236 if (UNTAG_Bool(variable[14])) { /*if*/
3237 CALL_abstract_collection___SimpleCollection___add( variable[12] /*listnode7*/)( variable[12] /*listnode7*/, variable[13] /*ppropdefnode6*/) /*AbstractArray::add*/;
3238 }
3239 variable[15] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[12] /*listnode7*/); /*new ATopClassdef*/
3240 variable[14] = variable[15];
3241 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3242 if (UNTAG_Bool(variable[15])) { /*if*/
3243 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode8*/)( variable[9] /*listnode8*/) /*AbstractArray::is_empty*/;
3244 if (UNTAG_Bool(variable[15])) { /*if*/
3245 variable[9] = variable[11] /*listnode4*/ /*listnode8=*/;
3246 } else { /*if*/
3247 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode8*/)( variable[9] /*listnode8*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
3248 }
3249 }
3250 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[14] /*pclassdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*pclassdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*pclassdefnode5*/)( variable[14] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3251 if (UNTAG_Bool(variable[15])) { /*if*/
3252 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode8*/)( variable[9] /*listnode8*/, variable[14] /*pclassdefnode5*/) /*AbstractArray::add*/;
3253 }
3254 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( variable[10] /*ppackagedeclnode2*/, variable[8] /*listnode3*/, variable[9] /*listnode8*/); /*new AModule*/
3255 variable[15] = variable[16];
3256 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
3257 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3258 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
3259 return_label68: while(false);
3260 tracehead = trace.prev;
3261 return;
3262 }
3263 void parser___ReduceAction18___init(val_t self, int* init_table) {
3264 struct trace_t trace = {NULL, NULL, 1554, LOCATE_parser___ReduceAction18___init};
3265 val_t variable[2];
3266 void **closurevariable = NULL;
3267 trace.prev = tracehead; tracehead = &trace;
3268 trace.file = LOCATE_parser;
3269 variable[0] = self;
3270 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction18].i]) return;
3271 return_label69: while(false);
3272 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction18].i] = 1;
3273 tracehead = trace.prev;
3274 return;
3275 }
3276 void parser___ReduceAction19___action(val_t self, val_t param0) {
3277 struct trace_t trace = {NULL, NULL, 1558, LOCATE_parser___ReduceAction19___action};
3278 val_t variable[19];
3279 void **closurevariable = NULL;
3280 trace.prev = tracehead; tracehead = &trace;
3281 trace.file = LOCATE_parser;
3282 variable[0] = self;
3283 variable[1] = param0;
3284 variable[3] = NIT_NULL /*null*/;
3285 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3286 variable[4] = variable[5];
3287 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3288 variable[5] = variable[6];
3289 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3290 variable[6] = variable[7];
3291 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3292 variable[7] = variable[8];
3293 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3294 variable[8] = variable[9];
3295 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3296 variable[9] = variable[10];
3297 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3298 variable[10] = variable[11];
3299 variable[11] = variable[8] /*nodearraylist1*/;
3300 variable[12] = TAG_Bool(( variable[11] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
3301 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction19___action, LOCATE_parser, 1569); nit_exit(1);}
3302 variable[12] = variable[7] /*nodearraylist2*/;
3303 variable[13] = TAG_Bool(( variable[12] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3304 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction19___action, LOCATE_parser, 1571); nit_exit(1);}
3305 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3306 variable[13] = variable[14];
3307 variable[14] = variable[6] /*nodearraylist3*/;
3308 variable[15] = TAG_Bool(( variable[14] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3309 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction19___action, LOCATE_parser, 1574); nit_exit(1);}
3310 variable[15] = variable[4] /*nodearraylist5*/;
3311 variable[16] = TAG_Bool(( variable[15] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3312 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction19___action, LOCATE_parser, 1576); nit_exit(1);}
3313 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[14] /*ppropdefnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*ppropdefnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*ppropdefnode6*/)( variable[14] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3314 if (UNTAG_Bool(variable[16])) { /*if*/
3315 CALL_abstract_collection___SimpleCollection___add( variable[13] /*listnode8*/)( variable[13] /*listnode8*/, variable[14] /*ppropdefnode6*/) /*AbstractArray::add*/;
3316 }
3317 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*listnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*listnode7*/)( variable[15] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3318 if (UNTAG_Bool(variable[16])) { /*if*/
3319 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[13] /*listnode8*/)( variable[13] /*listnode8*/) /*AbstractArray::is_empty*/;
3320 if (UNTAG_Bool(variable[16])) { /*if*/
3321 variable[13] = variable[15] /*listnode7*/ /*listnode8=*/;
3322 } else { /*if*/
3323 CALL_abstract_collection___IndexedCollection___append( variable[13] /*listnode8*/)( variable[13] /*listnode8*/, variable[15] /*listnode7*/) /*IndexedCollection::append*/;
3324 }
3325 }
3326 variable[17] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[13] /*listnode8*/); /*new ATopClassdef*/
3327 variable[16] = variable[17];
3328 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode4*/)( variable[12] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3329 if (UNTAG_Bool(variable[17])) { /*if*/
3330 variable[17] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode9*/)( variable[10] /*listnode9*/) /*AbstractArray::is_empty*/;
3331 if (UNTAG_Bool(variable[17])) { /*if*/
3332 variable[10] = variable[12] /*listnode4*/ /*listnode9=*/;
3333 } else { /*if*/
3334 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode9*/)( variable[10] /*listnode9*/, variable[12] /*listnode4*/) /*IndexedCollection::append*/;
3335 }
3336 }
3337 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[16] /*pclassdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[16] /*pclassdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[16] /*pclassdefnode5*/)( variable[16] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3338 if (UNTAG_Bool(variable[17])) { /*if*/
3339 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode9*/)( variable[10] /*listnode9*/, variable[16] /*pclassdefnode5*/) /*AbstractArray::add*/;
3340 }
3341 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( variable[11] /*ppackagedeclnode2*/, variable[9] /*listnode3*/, variable[10] /*listnode9*/); /*new AModule*/
3342 variable[17] = variable[18];
3343 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
3344 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3345 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
3346 return_label70: while(false);
3347 tracehead = trace.prev;
3348 return;
3349 }
3350 void parser___ReduceAction19___init(val_t self, int* init_table) {
3351 struct trace_t trace = {NULL, NULL, 1608, LOCATE_parser___ReduceAction19___init};
3352 val_t variable[2];
3353 void **closurevariable = NULL;
3354 trace.prev = tracehead; tracehead = &trace;
3355 trace.file = LOCATE_parser;
3356 variable[0] = self;
3357 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction19].i]) return;
3358 return_label71: while(false);
3359 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction19].i] = 1;
3360 tracehead = trace.prev;
3361 return;
3362 }
3363 void parser___ReduceAction20___action(val_t self, val_t param0) {
3364 struct trace_t trace = {NULL, NULL, 1612, LOCATE_parser___ReduceAction20___action};
3365 val_t variable[17];
3366 void **closurevariable = NULL;
3367 trace.prev = tracehead; tracehead = &trace;
3368 trace.file = LOCATE_parser;
3369 variable[0] = self;
3370 variable[1] = param0;
3371 variable[3] = NIT_NULL /*null*/;
3372 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3373 variable[4] = variable[5];
3374 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3375 variable[5] = variable[6];
3376 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3377 variable[6] = variable[7];
3378 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3379 variable[7] = variable[8];
3380 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3381 variable[8] = variable[9];
3382 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3383 variable[9] = variable[10];
3384 variable[10] = variable[7] /*nodearraylist1*/;
3385 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3386 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction20___action, LOCATE_parser, 1622); nit_exit(1);}
3387 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3388 if (UNTAG_Bool(variable[11])) { /*if*/
3389 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode4*/)( variable[8] /*listnode4*/) /*AbstractArray::is_empty*/;
3390 if (UNTAG_Bool(variable[11])) { /*if*/
3391 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
3392 } else { /*if*/
3393 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
3394 }
3395 }
3396 variable[11] = variable[6] /*nodearraylist2*/;
3397 variable[12] = TAG_Bool(( variable[11] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3398 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction20___action, LOCATE_parser, 1631); nit_exit(1);}
3399 variable[13] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3400 variable[12] = variable[13];
3401 variable[13] = variable[5] /*nodearraylist3*/;
3402 variable[14] = TAG_Bool(( variable[13] /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3403 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction20___action, LOCATE_parser, 1634); nit_exit(1);}
3404 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable[13] /*ppropdefnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*ppropdefnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*ppropdefnode7*/)( variable[13] /*ppropdefnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3405 if (UNTAG_Bool(variable[14])) { /*if*/
3406 CALL_abstract_collection___SimpleCollection___add( variable[12] /*listnode8*/)( variable[12] /*listnode8*/, variable[13] /*ppropdefnode7*/) /*AbstractArray::add*/;
3407 }
3408 variable[15] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[12] /*listnode8*/); /*new ATopClassdef*/
3409 variable[14] = variable[15];
3410 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode5*/)( variable[11] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3411 if (UNTAG_Bool(variable[15])) { /*if*/
3412 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode9*/)( variable[9] /*listnode9*/) /*AbstractArray::is_empty*/;
3413 if (UNTAG_Bool(variable[15])) { /*if*/
3414 variable[9] = variable[11] /*listnode5*/ /*listnode9=*/;
3415 } else { /*if*/
3416 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode9*/)( variable[9] /*listnode9*/, variable[11] /*listnode5*/) /*IndexedCollection::append*/;
3417 }
3418 }
3419 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable[14] /*pclassdefnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*pclassdefnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*pclassdefnode6*/)( variable[14] /*pclassdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3420 if (UNTAG_Bool(variable[15])) { /*if*/
3421 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode9*/)( variable[9] /*listnode9*/, variable[14] /*pclassdefnode6*/) /*AbstractArray::add*/;
3422 }
3423 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[8] /*listnode4*/, variable[9] /*listnode9*/); /*new AModule*/
3424 variable[15] = variable[16];
3425 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
3426 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3427 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
3428 return_label72: while(false);
3429 tracehead = trace.prev;
3430 return;
3431 }
3432 void parser___ReduceAction20___init(val_t self, int* init_table) {
3433 struct trace_t trace = {NULL, NULL, 1659, LOCATE_parser___ReduceAction20___init};
3434 val_t variable[2];
3435 void **closurevariable = NULL;
3436 trace.prev = tracehead; tracehead = &trace;
3437 trace.file = LOCATE_parser;
3438 variable[0] = self;
3439 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction20].i]) return;
3440 return_label73: while(false);
3441 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction20].i] = 1;
3442 tracehead = trace.prev;
3443 return;
3444 }
3445 void parser___ReduceAction21___action(val_t self, val_t param0) {
3446 struct trace_t trace = {NULL, NULL, 1663, LOCATE_parser___ReduceAction21___action};
3447 val_t variable[19];
3448 void **closurevariable = NULL;
3449 trace.prev = tracehead; tracehead = &trace;
3450 trace.file = LOCATE_parser;
3451 variable[0] = self;
3452 variable[1] = param0;
3453 variable[3] = NIT_NULL /*null*/;
3454 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3455 variable[4] = variable[5];
3456 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3457 variable[5] = variable[6];
3458 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3459 variable[6] = variable[7];
3460 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3461 variable[7] = variable[8];
3462 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3463 variable[8] = variable[9];
3464 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3465 variable[9] = variable[10];
3466 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3467 variable[10] = variable[11];
3468 variable[11] = variable[8] /*nodearraylist1*/;
3469 variable[12] = TAG_Bool(( variable[11] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3470 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction21___action, LOCATE_parser, 1674); nit_exit(1);}
3471 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode3*/)( variable[11] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3472 if (UNTAG_Bool(variable[12])) { /*if*/
3473 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode4*/)( variable[9] /*listnode4*/) /*AbstractArray::is_empty*/;
3474 if (UNTAG_Bool(variable[12])) { /*if*/
3475 variable[9] = variable[11] /*listnode3*/ /*listnode4=*/;
3476 } else { /*if*/
3477 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, variable[11] /*listnode3*/) /*IndexedCollection::append*/;
3478 }
3479 }
3480 variable[12] = variable[7] /*nodearraylist2*/;
3481 variable[13] = TAG_Bool(( variable[12] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3482 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction21___action, LOCATE_parser, 1683); nit_exit(1);}
3483 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3484 variable[13] = variable[14];
3485 variable[14] = variable[6] /*nodearraylist3*/;
3486 variable[15] = TAG_Bool(( variable[14] /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3487 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction21___action, LOCATE_parser, 1686); nit_exit(1);}
3488 variable[15] = variable[4] /*nodearraylist5*/;
3489 variable[16] = TAG_Bool(( variable[15] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3490 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction21___action, LOCATE_parser, 1688); nit_exit(1);}
3491 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable[14] /*ppropdefnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*ppropdefnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*ppropdefnode7*/)( variable[14] /*ppropdefnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3492 if (UNTAG_Bool(variable[16])) { /*if*/
3493 CALL_abstract_collection___SimpleCollection___add( variable[13] /*listnode9*/)( variable[13] /*listnode9*/, variable[14] /*ppropdefnode7*/) /*AbstractArray::add*/;
3494 }
3495 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode8*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*listnode8*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*listnode8*/)( variable[15] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3496 if (UNTAG_Bool(variable[16])) { /*if*/
3497 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[13] /*listnode9*/)( variable[13] /*listnode9*/) /*AbstractArray::is_empty*/;
3498 if (UNTAG_Bool(variable[16])) { /*if*/
3499 variable[13] = variable[15] /*listnode8*/ /*listnode9=*/;
3500 } else { /*if*/
3501 CALL_abstract_collection___IndexedCollection___append( variable[13] /*listnode9*/)( variable[13] /*listnode9*/, variable[15] /*listnode8*/) /*IndexedCollection::append*/;
3502 }
3503 }
3504 variable[17] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[13] /*listnode9*/); /*new ATopClassdef*/
3505 variable[16] = variable[17];
3506 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode5*/)( variable[12] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3507 if (UNTAG_Bool(variable[17])) { /*if*/
3508 variable[17] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode10*/)( variable[10] /*listnode10*/) /*AbstractArray::is_empty*/;
3509 if (UNTAG_Bool(variable[17])) { /*if*/
3510 variable[10] = variable[12] /*listnode5*/ /*listnode10=*/;
3511 } else { /*if*/
3512 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode10*/)( variable[10] /*listnode10*/, variable[12] /*listnode5*/) /*IndexedCollection::append*/;
3513 }
3514 }
3515 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable[16] /*pclassdefnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[16] /*pclassdefnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[16] /*pclassdefnode6*/)( variable[16] /*pclassdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3516 if (UNTAG_Bool(variable[17])) { /*if*/
3517 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode10*/)( variable[10] /*listnode10*/, variable[16] /*pclassdefnode6*/) /*AbstractArray::add*/;
3518 }
3519 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[9] /*listnode4*/, variable[10] /*listnode10*/); /*new AModule*/
3520 variable[17] = variable[18];
3521 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
3522 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3523 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
3524 return_label74: while(false);
3525 tracehead = trace.prev;
3526 return;
3527 }
3528 void parser___ReduceAction21___init(val_t self, int* init_table) {
3529 struct trace_t trace = {NULL, NULL, 1720, LOCATE_parser___ReduceAction21___init};
3530 val_t variable[2];
3531 void **closurevariable = NULL;
3532 trace.prev = tracehead; tracehead = &trace;
3533 trace.file = LOCATE_parser;
3534 variable[0] = self;
3535 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction21].i]) return;
3536 return_label75: while(false);
3537 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction21].i] = 1;
3538 tracehead = trace.prev;
3539 return;
3540 }
3541 void parser___ReduceAction22___action(val_t self, val_t param0) {
3542 struct trace_t trace = {NULL, NULL, 1724, LOCATE_parser___ReduceAction22___action};
3543 val_t variable[19];
3544 void **closurevariable = NULL;
3545 trace.prev = tracehead; tracehead = &trace;
3546 trace.file = LOCATE_parser;
3547 variable[0] = self;
3548 variable[1] = param0;
3549 variable[3] = NIT_NULL /*null*/;
3550 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3551 variable[4] = variable[5];
3552 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3553 variable[5] = variable[6];
3554 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3555 variable[6] = variable[7];
3556 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3557 variable[7] = variable[8];
3558 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3559 variable[8] = variable[9];
3560 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3561 variable[9] = variable[10];
3562 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3563 variable[10] = variable[11];
3564 variable[11] = variable[8] /*nodearraylist1*/;
3565 variable[12] = TAG_Bool(( variable[11] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
3566 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction22___action, LOCATE_parser, 1735); nit_exit(1);}
3567 variable[12] = variable[7] /*nodearraylist2*/;
3568 variable[13] = TAG_Bool(( variable[12] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3569 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction22___action, LOCATE_parser, 1737); nit_exit(1);}
3570 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode3*/)( variable[12] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3571 if (UNTAG_Bool(variable[13])) { /*if*/
3572 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode4*/)( variable[9] /*listnode4*/) /*AbstractArray::is_empty*/;
3573 if (UNTAG_Bool(variable[13])) { /*if*/
3574 variable[9] = variable[12] /*listnode3*/ /*listnode4=*/;
3575 } else { /*if*/
3576 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, variable[12] /*listnode3*/) /*IndexedCollection::append*/;
3577 }
3578 }
3579 variable[13] = variable[6] /*nodearraylist3*/;
3580 variable[14] = TAG_Bool(( variable[13] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3581 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction22___action, LOCATE_parser, 1746); nit_exit(1);}
3582 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3583 variable[14] = variable[15];
3584 variable[15] = variable[5] /*nodearraylist4*/;
3585 variable[16] = TAG_Bool(( variable[15] /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3586 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction22___action, LOCATE_parser, 1749); nit_exit(1);}
3587 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable[15] /*ppropdefnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*ppropdefnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*ppropdefnode7*/)( variable[15] /*ppropdefnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3588 if (UNTAG_Bool(variable[16])) { /*if*/
3589 CALL_abstract_collection___SimpleCollection___add( variable[14] /*listnode8*/)( variable[14] /*listnode8*/, variable[15] /*ppropdefnode7*/) /*AbstractArray::add*/;
3590 }
3591 variable[17] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[14] /*listnode8*/); /*new ATopClassdef*/
3592 variable[16] = variable[17];
3593 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*listnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*listnode5*/)( variable[13] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3594 if (UNTAG_Bool(variable[17])) { /*if*/
3595 variable[17] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode9*/)( variable[10] /*listnode9*/) /*AbstractArray::is_empty*/;
3596 if (UNTAG_Bool(variable[17])) { /*if*/
3597 variable[10] = variable[13] /*listnode5*/ /*listnode9=*/;
3598 } else { /*if*/
3599 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode9*/)( variable[10] /*listnode9*/, variable[13] /*listnode5*/) /*IndexedCollection::append*/;
3600 }
3601 }
3602 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable[16] /*pclassdefnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[16] /*pclassdefnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[16] /*pclassdefnode6*/)( variable[16] /*pclassdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3603 if (UNTAG_Bool(variable[17])) { /*if*/
3604 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode9*/)( variable[10] /*listnode9*/, variable[16] /*pclassdefnode6*/) /*AbstractArray::add*/;
3605 }
3606 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( variable[11] /*ppackagedeclnode2*/, variable[9] /*listnode4*/, variable[10] /*listnode9*/); /*new AModule*/
3607 variable[17] = variable[18];
3608 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
3609 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3610 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
3611 return_label76: while(false);
3612 tracehead = trace.prev;
3613 return;
3614 }
3615 void parser___ReduceAction22___init(val_t self, int* init_table) {
3616 struct trace_t trace = {NULL, NULL, 1774, LOCATE_parser___ReduceAction22___init};
3617 val_t variable[2];
3618 void **closurevariable = NULL;
3619 trace.prev = tracehead; tracehead = &trace;
3620 trace.file = LOCATE_parser;
3621 variable[0] = self;
3622 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction22].i]) return;
3623 return_label77: while(false);
3624 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction22].i] = 1;
3625 tracehead = trace.prev;
3626 return;
3627 }
3628 void parser___ReduceAction23___action(val_t self, val_t param0) {
3629 struct trace_t trace = {NULL, NULL, 1778, LOCATE_parser___ReduceAction23___action};
3630 val_t variable[21];
3631 void **closurevariable = NULL;
3632 trace.prev = tracehead; tracehead = &trace;
3633 trace.file = LOCATE_parser;
3634 variable[0] = self;
3635 variable[1] = param0;
3636 variable[3] = NIT_NULL /*null*/;
3637 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3638 variable[4] = variable[5];
3639 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3640 variable[5] = variable[6];
3641 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3642 variable[6] = variable[7];
3643 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3644 variable[7] = variable[8];
3645 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3646 variable[8] = variable[9];
3647 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3648 variable[9] = variable[10];
3649 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3650 variable[10] = variable[11];
3651 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3652 variable[11] = variable[12];
3653 variable[12] = variable[9] /*nodearraylist1*/;
3654 variable[13] = TAG_Bool(( variable[12] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
3655 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction23___action, LOCATE_parser, 1790); nit_exit(1);}
3656 variable[13] = variable[8] /*nodearraylist2*/;
3657 variable[14] = TAG_Bool(( variable[13] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3658 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction23___action, LOCATE_parser, 1792); nit_exit(1);}
3659 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*listnode3*/)( variable[13] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3660 if (UNTAG_Bool(variable[14])) { /*if*/
3661 variable[14] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode4*/)( variable[10] /*listnode4*/) /*AbstractArray::is_empty*/;
3662 if (UNTAG_Bool(variable[14])) { /*if*/
3663 variable[10] = variable[13] /*listnode3*/ /*listnode4=*/;
3664 } else { /*if*/
3665 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, variable[13] /*listnode3*/) /*IndexedCollection::append*/;
3666 }
3667 }
3668 variable[14] = variable[7] /*nodearraylist3*/;
3669 variable[15] = TAG_Bool(( variable[14] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3670 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction23___action, LOCATE_parser, 1801); nit_exit(1);}
3671 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3672 variable[15] = variable[16];
3673 variable[16] = variable[6] /*nodearraylist4*/;
3674 variable[17] = TAG_Bool(( variable[16] /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3675 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction23___action, LOCATE_parser, 1804); nit_exit(1);}
3676 variable[17] = variable[4] /*nodearraylist6*/;
3677 variable[18] = TAG_Bool(( variable[17] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[17] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3678 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction23___action, LOCATE_parser, 1806); nit_exit(1);}
3679 variable[18] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable[16] /*ppropdefnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[16] /*ppropdefnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[16] /*ppropdefnode7*/)( variable[16] /*ppropdefnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3680 if (UNTAG_Bool(variable[18])) { /*if*/
3681 CALL_abstract_collection___SimpleCollection___add( variable[15] /*listnode9*/)( variable[15] /*listnode9*/, variable[16] /*ppropdefnode7*/) /*AbstractArray::add*/;
3682 }
3683 variable[18] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[17] /*listnode8*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[17] /*listnode8*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[17] /*listnode8*/)( variable[17] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3684 if (UNTAG_Bool(variable[18])) { /*if*/
3685 variable[18] = CALL_abstract_collection___Collection___is_empty( variable[15] /*listnode9*/)( variable[15] /*listnode9*/) /*AbstractArray::is_empty*/;
3686 if (UNTAG_Bool(variable[18])) { /*if*/
3687 variable[15] = variable[17] /*listnode8*/ /*listnode9=*/;
3688 } else { /*if*/
3689 CALL_abstract_collection___IndexedCollection___append( variable[15] /*listnode9*/)( variable[15] /*listnode9*/, variable[17] /*listnode8*/) /*IndexedCollection::append*/;
3690 }
3691 }
3692 variable[19] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[15] /*listnode9*/); /*new ATopClassdef*/
3693 variable[18] = variable[19];
3694 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*listnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*listnode5*/)( variable[14] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3695 if (UNTAG_Bool(variable[19])) { /*if*/
3696 variable[19] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode10*/)( variable[11] /*listnode10*/) /*AbstractArray::is_empty*/;
3697 if (UNTAG_Bool(variable[19])) { /*if*/
3698 variable[11] = variable[14] /*listnode5*/ /*listnode10=*/;
3699 } else { /*if*/
3700 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode10*/)( variable[11] /*listnode10*/, variable[14] /*listnode5*/) /*IndexedCollection::append*/;
3701 }
3702 }
3703 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable[18] /*pclassdefnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[18] /*pclassdefnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[18] /*pclassdefnode6*/)( variable[18] /*pclassdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3704 if (UNTAG_Bool(variable[19])) { /*if*/
3705 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode10*/)( variable[11] /*listnode10*/, variable[18] /*pclassdefnode6*/) /*AbstractArray::add*/;
3706 }
3707 variable[20] = NEW_AModule_parser_prod___AModule___init_amodule( variable[12] /*ppackagedeclnode2*/, variable[10] /*listnode4*/, variable[11] /*listnode10*/); /*new AModule*/
3708 variable[19] = variable[20];
3709 variable[3] = variable[19] /*pmodulenode1*/ /*node_list=*/;
3710 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3711 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
3712 return_label78: while(false);
3713 tracehead = trace.prev;
3714 return;
3715 }
3716 void parser___ReduceAction23___init(val_t self, int* init_table) {
3717 struct trace_t trace = {NULL, NULL, 1838, LOCATE_parser___ReduceAction23___init};
3718 val_t variable[2];
3719 void **closurevariable = NULL;
3720 trace.prev = tracehead; tracehead = &trace;
3721 trace.file = LOCATE_parser;
3722 variable[0] = self;
3723 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction23].i]) return;
3724 return_label79: while(false);
3725 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction23].i] = 1;
3726 tracehead = trace.prev;
3727 return;
3728 }
3729 void parser___ReduceAction24___action(val_t self, val_t param0) {
3730 struct trace_t trace = {NULL, NULL, 1842, LOCATE_parser___ReduceAction24___action};
3731 val_t variable[10];
3732 void **closurevariable = NULL;
3733 trace.prev = tracehead; tracehead = &trace;
3734 trace.file = LOCATE_parser;
3735 variable[0] = self;
3736 variable[1] = param0;
3737 variable[3] = NIT_NULL /*null*/;
3738 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3739 variable[4] = variable[5];
3740 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3741 variable[5] = variable[6];
3742 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3743 variable[6] = variable[7];
3744 variable[7] = variable[4] /*nodearraylist1*/;
3745 variable[8] = TAG_Bool(( variable[7] /*pclassdefnode4*/==NIT_NULL) || VAL_ISA( variable[7] /*pclassdefnode4*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
3746 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction24___action, LOCATE_parser, 1849); nit_exit(1);}
3747 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable[7] /*pclassdefnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*pclassdefnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*pclassdefnode4*/)( variable[7] /*pclassdefnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3748 if (UNTAG_Bool(variable[8])) { /*if*/
3749 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[7] /*pclassdefnode4*/) /*AbstractArray::add*/;
3750 }
3751 variable[9] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[5] /*listnode3*/, variable[6] /*listnode5*/); /*new AModule*/
3752 variable[8] = variable[9];
3753 variable[3] = variable[8] /*pmodulenode1*/ /*node_list=*/;
3754 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3755 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
3756 return_label80: while(false);
3757 tracehead = trace.prev;
3758 return;
3759 }
3760 void parser___ReduceAction24___init(val_t self, int* init_table) {
3761 struct trace_t trace = {NULL, NULL, 1861, LOCATE_parser___ReduceAction24___init};
3762 val_t variable[2];
3763 void **closurevariable = NULL;
3764 trace.prev = tracehead; tracehead = &trace;
3765 trace.file = LOCATE_parser;
3766 variable[0] = self;
3767 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction24].i]) return;
3768 return_label81: while(false);
3769 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction24].i] = 1;
3770 tracehead = trace.prev;
3771 return;
3772 }
3773 void parser___ReduceAction25___action(val_t self, val_t param0) {
3774 struct trace_t trace = {NULL, NULL, 1865, LOCATE_parser___ReduceAction25___action};
3775 val_t variable[12];
3776 void **closurevariable = NULL;
3777 trace.prev = tracehead; tracehead = &trace;
3778 trace.file = LOCATE_parser;
3779 variable[0] = self;
3780 variable[1] = param0;
3781 variable[3] = NIT_NULL /*null*/;
3782 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3783 variable[4] = variable[5];
3784 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3785 variable[5] = variable[6];
3786 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3787 variable[6] = variable[7];
3788 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3789 variable[7] = variable[8];
3790 variable[8] = variable[5] /*nodearraylist1*/;
3791 variable[9] = TAG_Bool(( variable[8] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
3792 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction25___action, LOCATE_parser, 1873); nit_exit(1);}
3793 variable[9] = variable[4] /*nodearraylist2*/;
3794 variable[10] = TAG_Bool(( variable[9] /*pclassdefnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*pclassdefnode4*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
3795 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction25___action, LOCATE_parser, 1875); nit_exit(1);}
3796 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable[9] /*pclassdefnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[9] /*pclassdefnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[9] /*pclassdefnode4*/)( variable[9] /*pclassdefnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3797 if (UNTAG_Bool(variable[10])) { /*if*/
3798 CALL_abstract_collection___SimpleCollection___add( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[9] /*pclassdefnode4*/) /*AbstractArray::add*/;
3799 }
3800 variable[11] = NEW_AModule_parser_prod___AModule___init_amodule( variable[8] /*ppackagedeclnode2*/, variable[6] /*listnode3*/, variable[7] /*listnode5*/); /*new AModule*/
3801 variable[10] = variable[11];
3802 variable[3] = variable[10] /*pmodulenode1*/ /*node_list=*/;
3803 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3804 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
3805 return_label82: while(false);
3806 tracehead = trace.prev;
3807 return;
3808 }
3809 void parser___ReduceAction25___init(val_t self, int* init_table) {
3810 struct trace_t trace = {NULL, NULL, 1887, LOCATE_parser___ReduceAction25___init};
3811 val_t variable[2];
3812 void **closurevariable = NULL;
3813 trace.prev = tracehead; tracehead = &trace;
3814 trace.file = LOCATE_parser;
3815 variable[0] = self;
3816 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction25].i]) return;
3817 return_label83: while(false);
3818 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction25].i] = 1;
3819 tracehead = trace.prev;
3820 return;
3821 }
3822 void parser___ReduceAction26___action(val_t self, val_t param0) {
3823 struct trace_t trace = {NULL, NULL, 1891, LOCATE_parser___ReduceAction26___action};
3824 val_t variable[12];
3825 void **closurevariable = NULL;
3826 trace.prev = tracehead; tracehead = &trace;
3827 trace.file = LOCATE_parser;
3828 variable[0] = self;
3829 variable[1] = param0;
3830 variable[3] = NIT_NULL /*null*/;
3831 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3832 variable[4] = variable[5];
3833 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3834 variable[5] = variable[6];
3835 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3836 variable[6] = variable[7];
3837 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3838 variable[7] = variable[8];
3839 variable[8] = variable[5] /*nodearraylist1*/;
3840 variable[9] = TAG_Bool(( variable[8] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3841 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction26___action, LOCATE_parser, 1899); nit_exit(1);}
3842 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*listnode3*/)( variable[8] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3843 if (UNTAG_Bool(variable[9])) { /*if*/
3844 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode4*/)( variable[6] /*listnode4*/) /*AbstractArray::is_empty*/;
3845 if (UNTAG_Bool(variable[9])) { /*if*/
3846 variable[6] = variable[8] /*listnode3*/ /*listnode4=*/;
3847 } else { /*if*/
3848 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode4*/)( variable[6] /*listnode4*/, variable[8] /*listnode3*/) /*IndexedCollection::append*/;
3849 }
3850 }
3851 variable[9] = variable[4] /*nodearraylist2*/;
3852 variable[10] = TAG_Bool(( variable[9] /*pclassdefnode5*/==NIT_NULL) || VAL_ISA( variable[9] /*pclassdefnode5*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
3853 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction26___action, LOCATE_parser, 1908); nit_exit(1);}
3854 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[9] /*pclassdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[9] /*pclassdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[9] /*pclassdefnode5*/)( variable[9] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3855 if (UNTAG_Bool(variable[10])) { /*if*/
3856 CALL_abstract_collection___SimpleCollection___add( variable[7] /*listnode6*/)( variable[7] /*listnode6*/, variable[9] /*pclassdefnode5*/) /*AbstractArray::add*/;
3857 }
3858 variable[11] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[6] /*listnode4*/, variable[7] /*listnode6*/); /*new AModule*/
3859 variable[10] = variable[11];
3860 variable[3] = variable[10] /*pmodulenode1*/ /*node_list=*/;
3861 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3862 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
3863 return_label84: while(false);
3864 tracehead = trace.prev;
3865 return;
3866 }
3867 void parser___ReduceAction26___init(val_t self, int* init_table) {
3868 struct trace_t trace = {NULL, NULL, 1920, LOCATE_parser___ReduceAction26___init};
3869 val_t variable[2];
3870 void **closurevariable = NULL;
3871 trace.prev = tracehead; tracehead = &trace;
3872 trace.file = LOCATE_parser;
3873 variable[0] = self;
3874 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction26].i]) return;
3875 return_label85: while(false);
3876 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction26].i] = 1;
3877 tracehead = trace.prev;
3878 return;
3879 }
3880 void parser___ReduceAction27___action(val_t self, val_t param0) {
3881 struct trace_t trace = {NULL, NULL, 1924, LOCATE_parser___ReduceAction27___action};
3882 val_t variable[14];
3883 void **closurevariable = NULL;
3884 trace.prev = tracehead; tracehead = &trace;
3885 trace.file = LOCATE_parser;
3886 variable[0] = self;
3887 variable[1] = param0;
3888 variable[3] = NIT_NULL /*null*/;
3889 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3890 variable[4] = variable[5];
3891 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3892 variable[5] = variable[6];
3893 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3894 variable[6] = variable[7];
3895 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3896 variable[7] = variable[8];
3897 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3898 variable[8] = variable[9];
3899 variable[9] = variable[6] /*nodearraylist1*/;
3900 variable[10] = TAG_Bool(( variable[9] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
3901 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction27___action, LOCATE_parser, 1933); nit_exit(1);}
3902 variable[10] = variable[5] /*nodearraylist2*/;
3903 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3904 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction27___action, LOCATE_parser, 1935); nit_exit(1);}
3905 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3906 if (UNTAG_Bool(variable[11])) { /*if*/
3907 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode4*/)( variable[7] /*listnode4*/) /*AbstractArray::is_empty*/;
3908 if (UNTAG_Bool(variable[11])) { /*if*/
3909 variable[7] = variable[10] /*listnode3*/ /*listnode4=*/;
3910 } else { /*if*/
3911 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode4*/)( variable[7] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
3912 }
3913 }
3914 variable[11] = variable[4] /*nodearraylist3*/;
3915 variable[12] = TAG_Bool(( variable[11] /*pclassdefnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*pclassdefnode5*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
3916 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction27___action, LOCATE_parser, 1944); nit_exit(1);}
3917 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[11] /*pclassdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*pclassdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*pclassdefnode5*/)( variable[11] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3918 if (UNTAG_Bool(variable[12])) { /*if*/
3919 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[11] /*pclassdefnode5*/) /*AbstractArray::add*/;
3920 }
3921 variable[13] = NEW_AModule_parser_prod___AModule___init_amodule( variable[9] /*ppackagedeclnode2*/, variable[7] /*listnode4*/, variable[8] /*listnode6*/); /*new AModule*/
3922 variable[12] = variable[13];
3923 variable[3] = variable[12] /*pmodulenode1*/ /*node_list=*/;
3924 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3925 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
3926 return_label86: while(false);
3927 tracehead = trace.prev;
3928 return;
3929 }
3930 void parser___ReduceAction27___init(val_t self, int* init_table) {
3931 struct trace_t trace = {NULL, NULL, 1956, LOCATE_parser___ReduceAction27___init};
3932 val_t variable[2];
3933 void **closurevariable = NULL;
3934 trace.prev = tracehead; tracehead = &trace;
3935 trace.file = LOCATE_parser;
3936 variable[0] = self;
3937 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction27].i]) return;
3938 return_label87: while(false);
3939 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction27].i] = 1;
3940 tracehead = trace.prev;
3941 return;
3942 }
3943 void parser___ReduceAction28___action(val_t self, val_t param0) {
3944 struct trace_t trace = {NULL, NULL, 1960, LOCATE_parser___ReduceAction28___action};
3945 val_t variable[12];
3946 void **closurevariable = NULL;
3947 trace.prev = tracehead; tracehead = &trace;
3948 trace.file = LOCATE_parser;
3949 variable[0] = self;
3950 variable[1] = param0;
3951 variable[3] = NIT_NULL /*null*/;
3952 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3953 variable[4] = variable[5];
3954 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3955 variable[5] = variable[6];
3956 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3957 variable[6] = variable[7];
3958 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3959 variable[7] = variable[8];
3960 variable[8] = variable[5] /*nodearraylist1*/;
3961 variable[9] = TAG_Bool(( variable[8] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3962 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction28___action, LOCATE_parser, 1968); nit_exit(1);}
3963 variable[9] = variable[4] /*nodearraylist2*/;
3964 variable[10] = TAG_Bool(( variable[9] /*pclassdefnode5*/==NIT_NULL) || VAL_ISA( variable[9] /*pclassdefnode5*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
3965 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction28___action, LOCATE_parser, 1970); nit_exit(1);}
3966 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3967 if (UNTAG_Bool(variable[10])) { /*if*/
3968 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode6*/)( variable[7] /*listnode6*/) /*AbstractArray::is_empty*/;
3969 if (UNTAG_Bool(variable[10])) { /*if*/
3970 variable[7] = variable[8] /*listnode4*/ /*listnode6=*/;
3971 } else { /*if*/
3972 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode6*/)( variable[7] /*listnode6*/, variable[8] /*listnode4*/) /*IndexedCollection::append*/;
3973 }
3974 }
3975 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[9] /*pclassdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[9] /*pclassdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[9] /*pclassdefnode5*/)( variable[9] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3976 if (UNTAG_Bool(variable[10])) { /*if*/
3977 CALL_abstract_collection___SimpleCollection___add( variable[7] /*listnode6*/)( variable[7] /*listnode6*/, variable[9] /*pclassdefnode5*/) /*AbstractArray::add*/;
3978 }
3979 variable[11] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[6] /*listnode3*/, variable[7] /*listnode6*/); /*new AModule*/
3980 variable[10] = variable[11];
3981 variable[3] = variable[10] /*pmodulenode1*/ /*node_list=*/;
3982 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3983 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
3984 return_label88: while(false);
3985 tracehead = trace.prev;
3986 return;
3987 }
3988 void parser___ReduceAction28___init(val_t self, int* init_table) {
3989 struct trace_t trace = {NULL, NULL, 1989, LOCATE_parser___ReduceAction28___init};
3990 val_t variable[2];
3991 void **closurevariable = NULL;
3992 trace.prev = tracehead; tracehead = &trace;
3993 trace.file = LOCATE_parser;
3994 variable[0] = self;
3995 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction28].i]) return;
3996 return_label89: while(false);
3997 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction28].i] = 1;
3998 tracehead = trace.prev;
3999 return;
4000 }
4001 void parser___ReduceAction29___action(val_t self, val_t param0) {
4002 struct trace_t trace = {NULL, NULL, 1993, LOCATE_parser___ReduceAction29___action};
4003 val_t variable[14];
4004 void **closurevariable = NULL;
4005 trace.prev = tracehead; tracehead = &trace;
4006 trace.file = LOCATE_parser;
4007 variable[0] = self;
4008 variable[1] = param0;
4009 variable[3] = NIT_NULL /*null*/;
4010 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4011 variable[4] = variable[5];
4012 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4013 variable[5] = variable[6];
4014 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4015 variable[6] = variable[7];
4016 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4017 variable[7] = variable[8];
4018 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4019 variable[8] = variable[9];
4020 variable[9] = variable[6] /*nodearraylist1*/;
4021 variable[10] = TAG_Bool(( variable[9] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
4022 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction29___action, LOCATE_parser, 2002); nit_exit(1);}
4023 variable[10] = variable[5] /*nodearraylist2*/;
4024 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4025 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction29___action, LOCATE_parser, 2004); nit_exit(1);}
4026 variable[11] = variable[4] /*nodearraylist3*/;
4027 variable[12] = TAG_Bool(( variable[11] /*pclassdefnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*pclassdefnode5*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4028 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction29___action, LOCATE_parser, 2006); nit_exit(1);}
4029 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4030 if (UNTAG_Bool(variable[12])) { /*if*/
4031 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode6*/)( variable[8] /*listnode6*/) /*AbstractArray::is_empty*/;
4032 if (UNTAG_Bool(variable[12])) { /*if*/
4033 variable[8] = variable[10] /*listnode4*/ /*listnode6=*/;
4034 } else { /*if*/
4035 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
4036 }
4037 }
4038 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[11] /*pclassdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*pclassdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*pclassdefnode5*/)( variable[11] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4039 if (UNTAG_Bool(variable[12])) { /*if*/
4040 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[11] /*pclassdefnode5*/) /*AbstractArray::add*/;
4041 }
4042 variable[13] = NEW_AModule_parser_prod___AModule___init_amodule( variable[9] /*ppackagedeclnode2*/, variable[7] /*listnode3*/, variable[8] /*listnode6*/); /*new AModule*/
4043 variable[12] = variable[13];
4044 variable[3] = variable[12] /*pmodulenode1*/ /*node_list=*/;
4045 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4046 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
4047 return_label90: while(false);
4048 tracehead = trace.prev;
4049 return;
4050 }
4051 void parser___ReduceAction29___init(val_t self, int* init_table) {
4052 struct trace_t trace = {NULL, NULL, 2025, LOCATE_parser___ReduceAction29___init};
4053 val_t variable[2];
4054 void **closurevariable = NULL;
4055 trace.prev = tracehead; tracehead = &trace;
4056 trace.file = LOCATE_parser;
4057 variable[0] = self;
4058 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction29].i]) return;
4059 return_label91: while(false);
4060 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction29].i] = 1;
4061 tracehead = trace.prev;
4062 return;
4063 }
4064 void parser___ReduceAction30___action(val_t self, val_t param0) {
4065 struct trace_t trace = {NULL, NULL, 2029, LOCATE_parser___ReduceAction30___action};
4066 val_t variable[14];
4067 void **closurevariable = NULL;
4068 trace.prev = tracehead; tracehead = &trace;
4069 trace.file = LOCATE_parser;
4070 variable[0] = self;
4071 variable[1] = param0;
4072 variable[3] = NIT_NULL /*null*/;
4073 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4074 variable[4] = variable[5];
4075 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4076 variable[5] = variable[6];
4077 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4078 variable[6] = variable[7];
4079 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4080 variable[7] = variable[8];
4081 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4082 variable[8] = variable[9];
4083 variable[9] = variable[6] /*nodearraylist1*/;
4084 variable[10] = TAG_Bool(( variable[9] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4085 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction30___action, LOCATE_parser, 2038); nit_exit(1);}
4086 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[9] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[9] /*listnode3*/)( variable[9] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4087 if (UNTAG_Bool(variable[10])) { /*if*/
4088 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode4*/)( variable[7] /*listnode4*/) /*AbstractArray::is_empty*/;
4089 if (UNTAG_Bool(variable[10])) { /*if*/
4090 variable[7] = variable[9] /*listnode3*/ /*listnode4=*/;
4091 } else { /*if*/
4092 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode4*/)( variable[7] /*listnode4*/, variable[9] /*listnode3*/) /*IndexedCollection::append*/;
4093 }
4094 }
4095 variable[10] = variable[5] /*nodearraylist2*/;
4096 variable[11] = TAG_Bool(( variable[10] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4097 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction30___action, LOCATE_parser, 2047); nit_exit(1);}
4098 variable[11] = variable[4] /*nodearraylist3*/;
4099 variable[12] = TAG_Bool(( variable[11] /*pclassdefnode6*/==NIT_NULL) || VAL_ISA( variable[11] /*pclassdefnode6*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4100 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction30___action, LOCATE_parser, 2049); nit_exit(1);}
4101 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode5*/)( variable[10] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4102 if (UNTAG_Bool(variable[12])) { /*if*/
4103 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode7*/)( variable[8] /*listnode7*/) /*AbstractArray::is_empty*/;
4104 if (UNTAG_Bool(variable[12])) { /*if*/
4105 variable[8] = variable[10] /*listnode5*/ /*listnode7=*/;
4106 } else { /*if*/
4107 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode7*/)( variable[8] /*listnode7*/, variable[10] /*listnode5*/) /*IndexedCollection::append*/;
4108 }
4109 }
4110 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable[11] /*pclassdefnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*pclassdefnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*pclassdefnode6*/)( variable[11] /*pclassdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4111 if (UNTAG_Bool(variable[12])) { /*if*/
4112 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode7*/)( variable[8] /*listnode7*/, variable[11] /*pclassdefnode6*/) /*AbstractArray::add*/;
4113 }
4114 variable[13] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[7] /*listnode4*/, variable[8] /*listnode7*/); /*new AModule*/
4115 variable[12] = variable[13];
4116 variable[3] = variable[12] /*pmodulenode1*/ /*node_list=*/;
4117 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4118 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
4119 return_label92: while(false);
4120 tracehead = trace.prev;
4121 return;
4122 }
4123 void parser___ReduceAction30___init(val_t self, int* init_table) {
4124 struct trace_t trace = {NULL, NULL, 2068, LOCATE_parser___ReduceAction30___init};
4125 val_t variable[2];
4126 void **closurevariable = NULL;
4127 trace.prev = tracehead; tracehead = &trace;
4128 trace.file = LOCATE_parser;
4129 variable[0] = self;
4130 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction30].i]) return;
4131 return_label93: while(false);
4132 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction30].i] = 1;
4133 tracehead = trace.prev;
4134 return;
4135 }
4136 void parser___ReduceAction31___action(val_t self, val_t param0) {
4137 struct trace_t trace = {NULL, NULL, 2072, LOCATE_parser___ReduceAction31___action};
4138 val_t variable[16];
4139 void **closurevariable = NULL;
4140 trace.prev = tracehead; tracehead = &trace;
4141 trace.file = LOCATE_parser;
4142 variable[0] = self;
4143 variable[1] = param0;
4144 variable[3] = NIT_NULL /*null*/;
4145 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4146 variable[4] = variable[5];
4147 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4148 variable[5] = variable[6];
4149 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4150 variable[6] = variable[7];
4151 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4152 variable[7] = variable[8];
4153 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4154 variable[8] = variable[9];
4155 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4156 variable[9] = variable[10];
4157 variable[10] = variable[7] /*nodearraylist1*/;
4158 variable[11] = TAG_Bool(( variable[10] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
4159 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction31___action, LOCATE_parser, 2082); nit_exit(1);}
4160 variable[11] = variable[6] /*nodearraylist2*/;
4161 variable[12] = TAG_Bool(( variable[11] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4162 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction31___action, LOCATE_parser, 2084); nit_exit(1);}
4163 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode3*/)( variable[11] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4164 if (UNTAG_Bool(variable[12])) { /*if*/
4165 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode4*/)( variable[8] /*listnode4*/) /*AbstractArray::is_empty*/;
4166 if (UNTAG_Bool(variable[12])) { /*if*/
4167 variable[8] = variable[11] /*listnode3*/ /*listnode4=*/;
4168 } else { /*if*/
4169 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, variable[11] /*listnode3*/) /*IndexedCollection::append*/;
4170 }
4171 }
4172 variable[12] = variable[5] /*nodearraylist3*/;
4173 variable[13] = TAG_Bool(( variable[12] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4174 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction31___action, LOCATE_parser, 2093); nit_exit(1);}
4175 variable[13] = variable[4] /*nodearraylist4*/;
4176 variable[14] = TAG_Bool(( variable[13] /*pclassdefnode6*/==NIT_NULL) || VAL_ISA( variable[13] /*pclassdefnode6*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4177 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction31___action, LOCATE_parser, 2095); nit_exit(1);}
4178 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode5*/)( variable[12] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4179 if (UNTAG_Bool(variable[14])) { /*if*/
4180 variable[14] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode7*/)( variable[9] /*listnode7*/) /*AbstractArray::is_empty*/;
4181 if (UNTAG_Bool(variable[14])) { /*if*/
4182 variable[9] = variable[12] /*listnode5*/ /*listnode7=*/;
4183 } else { /*if*/
4184 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode7*/)( variable[9] /*listnode7*/, variable[12] /*listnode5*/) /*IndexedCollection::append*/;
4185 }
4186 }
4187 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable[13] /*pclassdefnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*pclassdefnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*pclassdefnode6*/)( variable[13] /*pclassdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4188 if (UNTAG_Bool(variable[14])) { /*if*/
4189 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode7*/)( variable[9] /*listnode7*/, variable[13] /*pclassdefnode6*/) /*AbstractArray::add*/;
4190 }
4191 variable[15] = NEW_AModule_parser_prod___AModule___init_amodule( variable[10] /*ppackagedeclnode2*/, variable[8] /*listnode4*/, variable[9] /*listnode7*/); /*new AModule*/
4192 variable[14] = variable[15];
4193 variable[3] = variable[14] /*pmodulenode1*/ /*node_list=*/;
4194 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4195 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
4196 return_label94: while(false);
4197 tracehead = trace.prev;
4198 return;
4199 }
4200 void parser___ReduceAction31___init(val_t self, int* init_table) {
4201 struct trace_t trace = {NULL, NULL, 2114, LOCATE_parser___ReduceAction31___init};
4202 val_t variable[2];
4203 void **closurevariable = NULL;
4204 trace.prev = tracehead; tracehead = &trace;
4205 trace.file = LOCATE_parser;
4206 variable[0] = self;
4207 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction31].i]) return;
4208 return_label95: while(false);
4209 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction31].i] = 1;
4210 tracehead = trace.prev;
4211 return;
4212 }
4213 void parser___ReduceAction32___action(val_t self, val_t param0) {
4214 struct trace_t trace = {NULL, NULL, 2118, LOCATE_parser___ReduceAction32___action};
4215 val_t variable[15];
4216 void **closurevariable = NULL;
4217 trace.prev = tracehead; tracehead = &trace;
4218 trace.file = LOCATE_parser;
4219 variable[0] = self;
4220 variable[1] = param0;
4221 variable[3] = NIT_NULL /*null*/;
4222 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4223 variable[4] = variable[5];
4224 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4225 variable[5] = variable[6];
4226 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4227 variable[6] = variable[7];
4228 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4229 variable[7] = variable[8];
4230 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4231 variable[8] = variable[9];
4232 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4233 variable[9] = variable[10];
4234 variable[10] = variable[6] /*nodearraylist1*/;
4235 variable[11] = TAG_Bool(( variable[10] /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4236 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction32___action, LOCATE_parser, 2128); nit_exit(1);}
4237 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable[10] /*ppropdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*ppropdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*ppropdefnode5*/)( variable[10] /*ppropdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4238 if (UNTAG_Bool(variable[11])) { /*if*/
4239 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode6*/)( variable[9] /*listnode6*/, variable[10] /*ppropdefnode5*/) /*AbstractArray::add*/;
4240 }
4241 variable[12] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[9] /*listnode6*/); /*new ATopClassdef*/
4242 variable[11] = variable[12];
4243 variable[12] = variable[4] /*nodearraylist3*/;
4244 variable[13] = TAG_Bool(( variable[12] /*pclassdefnode7*/==NIT_NULL) || VAL_ISA( variable[12] /*pclassdefnode7*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4245 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction32___action, LOCATE_parser, 2136); nit_exit(1);}
4246 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*pclassdefnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*pclassdefnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*pclassdefnode4*/)( variable[11] /*pclassdefnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4247 if (UNTAG_Bool(variable[13])) { /*if*/
4248 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode8*/)( variable[8] /*listnode8*/, variable[11] /*pclassdefnode4*/) /*AbstractArray::add*/;
4249 }
4250 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*pclassdefnode7*/ == NIT_NULL /*null*/) || (( variable[12] /*pclassdefnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*pclassdefnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*pclassdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*pclassdefnode7*/)( variable[12] /*pclassdefnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4251 if (UNTAG_Bool(variable[13])) { /*if*/
4252 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode8*/)( variable[8] /*listnode8*/, variable[12] /*pclassdefnode7*/) /*AbstractArray::add*/;
4253 }
4254 variable[14] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[7] /*listnode3*/, variable[8] /*listnode8*/); /*new AModule*/
4255 variable[13] = variable[14];
4256 variable[3] = variable[13] /*pmodulenode1*/ /*node_list=*/;
4257 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4258 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
4259 return_label96: while(false);
4260 tracehead = trace.prev;
4261 return;
4262 }
4263 void parser___ReduceAction32___init(val_t self, int* init_table) {
4264 struct trace_t trace = {NULL, NULL, 2151, LOCATE_parser___ReduceAction32___init};
4265 val_t variable[2];
4266 void **closurevariable = NULL;
4267 trace.prev = tracehead; tracehead = &trace;
4268 trace.file = LOCATE_parser;
4269 variable[0] = self;
4270 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction32].i]) return;
4271 return_label97: while(false);
4272 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction32].i] = 1;
4273 tracehead = trace.prev;
4274 return;
4275 }
4276 void parser___ReduceAction33___action(val_t self, val_t param0) {
4277 struct trace_t trace = {NULL, NULL, 2155, LOCATE_parser___ReduceAction33___action};
4278 val_t variable[17];
4279 void **closurevariable = NULL;
4280 trace.prev = tracehead; tracehead = &trace;
4281 trace.file = LOCATE_parser;
4282 variable[0] = self;
4283 variable[1] = param0;
4284 variable[3] = NIT_NULL /*null*/;
4285 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4286 variable[4] = variable[5];
4287 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4288 variable[5] = variable[6];
4289 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4290 variable[6] = variable[7];
4291 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4292 variable[7] = variable[8];
4293 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4294 variable[8] = variable[9];
4295 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4296 variable[9] = variable[10];
4297 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4298 variable[10] = variable[11];
4299 variable[11] = variable[7] /*nodearraylist1*/;
4300 variable[12] = TAG_Bool(( variable[11] /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4301 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction33___action, LOCATE_parser, 2166); nit_exit(1);}
4302 variable[12] = variable[5] /*nodearraylist3*/;
4303 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4304 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction33___action, LOCATE_parser, 2168); nit_exit(1);}
4305 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable[11] /*ppropdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*ppropdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*ppropdefnode5*/)( variable[11] /*ppropdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4306 if (UNTAG_Bool(variable[13])) { /*if*/
4307 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode7*/)( variable[10] /*listnode7*/, variable[11] /*ppropdefnode5*/) /*AbstractArray::add*/;
4308 }
4309 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode6*/)( variable[12] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4310 if (UNTAG_Bool(variable[13])) { /*if*/
4311 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode7*/)( variable[10] /*listnode7*/) /*AbstractArray::is_empty*/;
4312 if (UNTAG_Bool(variable[13])) { /*if*/
4313 variable[10] = variable[12] /*listnode6*/ /*listnode7=*/;
4314 } else { /*if*/
4315 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode7*/)( variable[10] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
4316 }
4317 }
4318 variable[14] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[10] /*listnode7*/); /*new ATopClassdef*/
4319 variable[13] = variable[14];
4320 variable[14] = variable[4] /*nodearraylist4*/;
4321 variable[15] = TAG_Bool(( variable[14] /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4322 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction33___action, LOCATE_parser, 2183); nit_exit(1);}
4323 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable[13] /*pclassdefnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*pclassdefnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*pclassdefnode4*/)( variable[13] /*pclassdefnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4324 if (UNTAG_Bool(variable[15])) { /*if*/
4325 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode9*/)( variable[9] /*listnode9*/, variable[13] /*pclassdefnode4*/) /*AbstractArray::add*/;
4326 }
4327 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*pclassdefnode8*/ == NIT_NULL /*null*/) || (( variable[14] /*pclassdefnode8*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*pclassdefnode8*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*pclassdefnode8*/)( variable[14] /*pclassdefnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4328 if (UNTAG_Bool(variable[15])) { /*if*/
4329 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode9*/)( variable[9] /*listnode9*/, variable[14] /*pclassdefnode8*/) /*AbstractArray::add*/;
4330 }
4331 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[8] /*listnode3*/, variable[9] /*listnode9*/); /*new AModule*/
4332 variable[15] = variable[16];
4333 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
4334 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4335 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
4336 return_label98: while(false);
4337 tracehead = trace.prev;
4338 return;
4339 }
4340 void parser___ReduceAction33___init(val_t self, int* init_table) {
4341 struct trace_t trace = {NULL, NULL, 2198, LOCATE_parser___ReduceAction33___init};
4342 val_t variable[2];
4343 void **closurevariable = NULL;
4344 trace.prev = tracehead; tracehead = &trace;
4345 trace.file = LOCATE_parser;
4346 variable[0] = self;
4347 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction33].i]) return;
4348 return_label99: while(false);
4349 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction33].i] = 1;
4350 tracehead = trace.prev;
4351 return;
4352 }
4353 void parser___ReduceAction34___action(val_t self, val_t param0) {
4354 struct trace_t trace = {NULL, NULL, 2202, LOCATE_parser___ReduceAction34___action};
4355 val_t variable[17];
4356 void **closurevariable = NULL;
4357 trace.prev = tracehead; tracehead = &trace;
4358 trace.file = LOCATE_parser;
4359 variable[0] = self;
4360 variable[1] = param0;
4361 variable[3] = NIT_NULL /*null*/;
4362 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4363 variable[4] = variable[5];
4364 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4365 variable[5] = variable[6];
4366 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4367 variable[6] = variable[7];
4368 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4369 variable[7] = variable[8];
4370 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4371 variable[8] = variable[9];
4372 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4373 variable[9] = variable[10];
4374 variable[10] = variable[7] /*nodearraylist1*/;
4375 variable[11] = TAG_Bool(( variable[10] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
4376 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction34___action, LOCATE_parser, 2212); nit_exit(1);}
4377 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4378 variable[11] = variable[12];
4379 variable[12] = variable[6] /*nodearraylist2*/;
4380 variable[13] = TAG_Bool(( variable[12] /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4381 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction34___action, LOCATE_parser, 2215); nit_exit(1);}
4382 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable[12] /*ppropdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*ppropdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*ppropdefnode5*/)( variable[12] /*ppropdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4383 if (UNTAG_Bool(variable[13])) { /*if*/
4384 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode6*/)( variable[11] /*listnode6*/, variable[12] /*ppropdefnode5*/) /*AbstractArray::add*/;
4385 }
4386 variable[14] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[11] /*listnode6*/); /*new ATopClassdef*/
4387 variable[13] = variable[14];
4388 variable[14] = variable[4] /*nodearraylist4*/;
4389 variable[15] = TAG_Bool(( variable[14] /*pclassdefnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*pclassdefnode7*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4390 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction34___action, LOCATE_parser, 2223); nit_exit(1);}
4391 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable[13] /*pclassdefnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*pclassdefnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*pclassdefnode4*/)( variable[13] /*pclassdefnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4392 if (UNTAG_Bool(variable[15])) { /*if*/
4393 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode8*/)( variable[9] /*listnode8*/, variable[13] /*pclassdefnode4*/) /*AbstractArray::add*/;
4394 }
4395 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*pclassdefnode7*/ == NIT_NULL /*null*/) || (( variable[14] /*pclassdefnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*pclassdefnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*pclassdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*pclassdefnode7*/)( variable[14] /*pclassdefnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4396 if (UNTAG_Bool(variable[15])) { /*if*/
4397 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode8*/)( variable[9] /*listnode8*/, variable[14] /*pclassdefnode7*/) /*AbstractArray::add*/;
4398 }
4399 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( variable[10] /*ppackagedeclnode2*/, variable[8] /*listnode3*/, variable[9] /*listnode8*/); /*new AModule*/
4400 variable[15] = variable[16];
4401 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
4402 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4403 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
4404 return_label100: while(false);
4405 tracehead = trace.prev;
4406 return;
4407 }
4408 void parser___ReduceAction34___init(val_t self, int* init_table) {
4409 struct trace_t trace = {NULL, NULL, 2238, LOCATE_parser___ReduceAction34___init};
4410 val_t variable[2];
4411 void **closurevariable = NULL;
4412 trace.prev = tracehead; tracehead = &trace;
4413 trace.file = LOCATE_parser;
4414 variable[0] = self;
4415 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction34].i]) return;
4416 return_label101: while(false);
4417 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction34].i] = 1;
4418 tracehead = trace.prev;
4419 return;
4420 }
4421 void parser___ReduceAction35___action(val_t self, val_t param0) {
4422 struct trace_t trace = {NULL, NULL, 2242, LOCATE_parser___ReduceAction35___action};
4423 val_t variable[19];
4424 void **closurevariable = NULL;
4425 trace.prev = tracehead; tracehead = &trace;
4426 trace.file = LOCATE_parser;
4427 variable[0] = self;
4428 variable[1] = param0;
4429 variable[3] = NIT_NULL /*null*/;
4430 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4431 variable[4] = variable[5];
4432 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4433 variable[5] = variable[6];
4434 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4435 variable[6] = variable[7];
4436 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4437 variable[7] = variable[8];
4438 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4439 variable[8] = variable[9];
4440 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4441 variable[9] = variable[10];
4442 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4443 variable[10] = variable[11];
4444 variable[11] = variable[8] /*nodearraylist1*/;
4445 variable[12] = TAG_Bool(( variable[11] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
4446 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction35___action, LOCATE_parser, 2253); nit_exit(1);}
4447 variable[13] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4448 variable[12] = variable[13];
4449 variable[13] = variable[7] /*nodearraylist2*/;
4450 variable[14] = TAG_Bool(( variable[13] /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4451 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction35___action, LOCATE_parser, 2256); nit_exit(1);}
4452 variable[14] = variable[5] /*nodearraylist4*/;
4453 variable[15] = TAG_Bool(( variable[14] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4454 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction35___action, LOCATE_parser, 2258); nit_exit(1);}
4455 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable[13] /*ppropdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*ppropdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*ppropdefnode5*/)( variable[13] /*ppropdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4456 if (UNTAG_Bool(variable[15])) { /*if*/
4457 CALL_abstract_collection___SimpleCollection___add( variable[12] /*listnode7*/)( variable[12] /*listnode7*/, variable[13] /*ppropdefnode5*/) /*AbstractArray::add*/;
4458 }
4459 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*listnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*listnode6*/)( variable[14] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4460 if (UNTAG_Bool(variable[15])) { /*if*/
4461 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[12] /*listnode7*/)( variable[12] /*listnode7*/) /*AbstractArray::is_empty*/;
4462 if (UNTAG_Bool(variable[15])) { /*if*/
4463 variable[12] = variable[14] /*listnode6*/ /*listnode7=*/;
4464 } else { /*if*/
4465 CALL_abstract_collection___IndexedCollection___append( variable[12] /*listnode7*/)( variable[12] /*listnode7*/, variable[14] /*listnode6*/) /*IndexedCollection::append*/;
4466 }
4467 }
4468 variable[16] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[12] /*listnode7*/); /*new ATopClassdef*/
4469 variable[15] = variable[16];
4470 variable[16] = variable[4] /*nodearraylist5*/;
4471 variable[17] = TAG_Bool(( variable[16] /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4472 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction35___action, LOCATE_parser, 2273); nit_exit(1);}
4473 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable[15] /*pclassdefnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*pclassdefnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*pclassdefnode4*/)( variable[15] /*pclassdefnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4474 if (UNTAG_Bool(variable[17])) { /*if*/
4475 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode9*/)( variable[10] /*listnode9*/, variable[15] /*pclassdefnode4*/) /*AbstractArray::add*/;
4476 }
4477 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*pclassdefnode8*/ == NIT_NULL /*null*/) || (( variable[16] /*pclassdefnode8*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[16] /*pclassdefnode8*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[16] /*pclassdefnode8*/)( variable[16] /*pclassdefnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4478 if (UNTAG_Bool(variable[17])) { /*if*/
4479 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode9*/)( variable[10] /*listnode9*/, variable[16] /*pclassdefnode8*/) /*AbstractArray::add*/;
4480 }
4481 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( variable[11] /*ppackagedeclnode2*/, variable[9] /*listnode3*/, variable[10] /*listnode9*/); /*new AModule*/
4482 variable[17] = variable[18];
4483 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
4484 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4485 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
4486 return_label102: while(false);
4487 tracehead = trace.prev;
4488 return;
4489 }
4490 void parser___ReduceAction35___init(val_t self, int* init_table) {
4491 struct trace_t trace = {NULL, NULL, 2288, LOCATE_parser___ReduceAction35___init};
4492 val_t variable[2];
4493 void **closurevariable = NULL;
4494 trace.prev = tracehead; tracehead = &trace;
4495 trace.file = LOCATE_parser;
4496 variable[0] = self;
4497 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction35].i]) return;
4498 return_label103: while(false);
4499 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction35].i] = 1;
4500 tracehead = trace.prev;
4501 return;
4502 }
4503 void parser___ReduceAction36___action(val_t self, val_t param0) {
4504 struct trace_t trace = {NULL, NULL, 2292, LOCATE_parser___ReduceAction36___action};
4505 val_t variable[17];
4506 void **closurevariable = NULL;
4507 trace.prev = tracehead; tracehead = &trace;
4508 trace.file = LOCATE_parser;
4509 variable[0] = self;
4510 variable[1] = param0;
4511 variable[3] = NIT_NULL /*null*/;
4512 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4513 variable[4] = variable[5];
4514 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4515 variable[5] = variable[6];
4516 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4517 variable[6] = variable[7];
4518 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4519 variable[7] = variable[8];
4520 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4521 variable[8] = variable[9];
4522 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4523 variable[9] = variable[10];
4524 variable[10] = variable[7] /*nodearraylist1*/;
4525 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4526 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction36___action, LOCATE_parser, 2302); nit_exit(1);}
4527 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4528 if (UNTAG_Bool(variable[11])) { /*if*/
4529 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode4*/)( variable[8] /*listnode4*/) /*AbstractArray::is_empty*/;
4530 if (UNTAG_Bool(variable[11])) { /*if*/
4531 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
4532 } else { /*if*/
4533 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
4534 }
4535 }
4536 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4537 variable[11] = variable[12];
4538 variable[12] = variable[6] /*nodearraylist2*/;
4539 variable[13] = TAG_Bool(( variable[12] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4540 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction36___action, LOCATE_parser, 2312); nit_exit(1);}
4541 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*ppropdefnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*ppropdefnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*ppropdefnode6*/)( variable[12] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4542 if (UNTAG_Bool(variable[13])) { /*if*/
4543 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[12] /*ppropdefnode6*/) /*AbstractArray::add*/;
4544 }
4545 variable[14] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[11] /*listnode7*/); /*new ATopClassdef*/
4546 variable[13] = variable[14];
4547 variable[14] = variable[4] /*nodearraylist4*/;
4548 variable[15] = TAG_Bool(( variable[14] /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4549 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction36___action, LOCATE_parser, 2320); nit_exit(1);}
4550 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[13] /*pclassdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*pclassdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*pclassdefnode5*/)( variable[13] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4551 if (UNTAG_Bool(variable[15])) { /*if*/
4552 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode9*/)( variable[9] /*listnode9*/, variable[13] /*pclassdefnode5*/) /*AbstractArray::add*/;
4553 }
4554 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*pclassdefnode8*/ == NIT_NULL /*null*/) || (( variable[14] /*pclassdefnode8*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*pclassdefnode8*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*pclassdefnode8*/)( variable[14] /*pclassdefnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4555 if (UNTAG_Bool(variable[15])) { /*if*/
4556 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode9*/)( variable[9] /*listnode9*/, variable[14] /*pclassdefnode8*/) /*AbstractArray::add*/;
4557 }
4558 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[8] /*listnode4*/, variable[9] /*listnode9*/); /*new AModule*/
4559 variable[15] = variable[16];
4560 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
4561 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4562 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
4563 return_label104: while(false);
4564 tracehead = trace.prev;
4565 return;
4566 }
4567 void parser___ReduceAction36___init(val_t self, int* init_table) {
4568 struct trace_t trace = {NULL, NULL, 2335, LOCATE_parser___ReduceAction36___init};
4569 val_t variable[2];
4570 void **closurevariable = NULL;
4571 trace.prev = tracehead; tracehead = &trace;
4572 trace.file = LOCATE_parser;
4573 variable[0] = self;
4574 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction36].i]) return;
4575 return_label105: while(false);
4576 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction36].i] = 1;
4577 tracehead = trace.prev;
4578 return;
4579 }
4580 void parser___ReduceAction37___action(val_t self, val_t param0) {
4581 struct trace_t trace = {NULL, NULL, 2339, LOCATE_parser___ReduceAction37___action};
4582 val_t variable[19];
4583 void **closurevariable = NULL;
4584 trace.prev = tracehead; tracehead = &trace;
4585 trace.file = LOCATE_parser;
4586 variable[0] = self;
4587 variable[1] = param0;
4588 variable[3] = NIT_NULL /*null*/;
4589 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4590 variable[4] = variable[5];
4591 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4592 variable[5] = variable[6];
4593 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4594 variable[6] = variable[7];
4595 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4596 variable[7] = variable[8];
4597 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4598 variable[8] = variable[9];
4599 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4600 variable[9] = variable[10];
4601 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4602 variable[10] = variable[11];
4603 variable[11] = variable[8] /*nodearraylist1*/;
4604 variable[12] = TAG_Bool(( variable[11] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4605 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction37___action, LOCATE_parser, 2350); nit_exit(1);}
4606 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode3*/)( variable[11] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4607 if (UNTAG_Bool(variable[12])) { /*if*/
4608 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode4*/)( variable[9] /*listnode4*/) /*AbstractArray::is_empty*/;
4609 if (UNTAG_Bool(variable[12])) { /*if*/
4610 variable[9] = variable[11] /*listnode3*/ /*listnode4=*/;
4611 } else { /*if*/
4612 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, variable[11] /*listnode3*/) /*IndexedCollection::append*/;
4613 }
4614 }
4615 variable[13] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4616 variable[12] = variable[13];
4617 variable[13] = variable[7] /*nodearraylist2*/;
4618 variable[14] = TAG_Bool(( variable[13] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[13] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4619 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction37___action, LOCATE_parser, 2360); nit_exit(1);}
4620 variable[14] = variable[5] /*nodearraylist4*/;
4621 variable[15] = TAG_Bool(( variable[14] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4622 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction37___action, LOCATE_parser, 2362); nit_exit(1);}
4623 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[13] /*ppropdefnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*ppropdefnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*ppropdefnode6*/)( variable[13] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4624 if (UNTAG_Bool(variable[15])) { /*if*/
4625 CALL_abstract_collection___SimpleCollection___add( variable[12] /*listnode8*/)( variable[12] /*listnode8*/, variable[13] /*ppropdefnode6*/) /*AbstractArray::add*/;
4626 }
4627 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*listnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*listnode7*/)( variable[14] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4628 if (UNTAG_Bool(variable[15])) { /*if*/
4629 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[12] /*listnode8*/)( variable[12] /*listnode8*/) /*AbstractArray::is_empty*/;
4630 if (UNTAG_Bool(variable[15])) { /*if*/
4631 variable[12] = variable[14] /*listnode7*/ /*listnode8=*/;
4632 } else { /*if*/
4633 CALL_abstract_collection___IndexedCollection___append( variable[12] /*listnode8*/)( variable[12] /*listnode8*/, variable[14] /*listnode7*/) /*IndexedCollection::append*/;
4634 }
4635 }
4636 variable[16] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[12] /*listnode8*/); /*new ATopClassdef*/
4637 variable[15] = variable[16];
4638 variable[16] = variable[4] /*nodearraylist5*/;
4639 variable[17] = TAG_Bool(( variable[16] /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4640 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction37___action, LOCATE_parser, 2377); nit_exit(1);}
4641 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[15] /*pclassdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*pclassdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*pclassdefnode5*/)( variable[15] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4642 if (UNTAG_Bool(variable[17])) { /*if*/
4643 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode10*/)( variable[10] /*listnode10*/, variable[15] /*pclassdefnode5*/) /*AbstractArray::add*/;
4644 }
4645 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*pclassdefnode9*/ == NIT_NULL /*null*/) || (( variable[16] /*pclassdefnode9*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[16] /*pclassdefnode9*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[16] /*pclassdefnode9*/)( variable[16] /*pclassdefnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4646 if (UNTAG_Bool(variable[17])) { /*if*/
4647 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode10*/)( variable[10] /*listnode10*/, variable[16] /*pclassdefnode9*/) /*AbstractArray::add*/;
4648 }
4649 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[9] /*listnode4*/, variable[10] /*listnode10*/); /*new AModule*/
4650 variable[17] = variable[18];
4651 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
4652 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4653 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
4654 return_label106: while(false);
4655 tracehead = trace.prev;
4656 return;
4657 }
4658 void parser___ReduceAction37___init(val_t self, int* init_table) {
4659 struct trace_t trace = {NULL, NULL, 2392, LOCATE_parser___ReduceAction37___init};
4660 val_t variable[2];
4661 void **closurevariable = NULL;
4662 trace.prev = tracehead; tracehead = &trace;
4663 trace.file = LOCATE_parser;
4664 variable[0] = self;
4665 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction37].i]) return;
4666 return_label107: while(false);
4667 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction37].i] = 1;
4668 tracehead = trace.prev;
4669 return;
4670 }
4671 void parser___ReduceAction38___action(val_t self, val_t param0) {
4672 struct trace_t trace = {NULL, NULL, 2396, LOCATE_parser___ReduceAction38___action};
4673 val_t variable[19];
4674 void **closurevariable = NULL;
4675 trace.prev = tracehead; tracehead = &trace;
4676 trace.file = LOCATE_parser;
4677 variable[0] = self;
4678 variable[1] = param0;
4679 variable[3] = NIT_NULL /*null*/;
4680 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4681 variable[4] = variable[5];
4682 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4683 variable[5] = variable[6];
4684 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4685 variable[6] = variable[7];
4686 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4687 variable[7] = variable[8];
4688 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4689 variable[8] = variable[9];
4690 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4691 variable[9] = variable[10];
4692 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4693 variable[10] = variable[11];
4694 variable[11] = variable[8] /*nodearraylist1*/;
4695 variable[12] = TAG_Bool(( variable[11] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
4696 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction38___action, LOCATE_parser, 2407); nit_exit(1);}
4697 variable[12] = variable[7] /*nodearraylist2*/;
4698 variable[13] = TAG_Bool(( variable[12] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4699 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction38___action, LOCATE_parser, 2409); nit_exit(1);}
4700 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode3*/)( variable[12] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4701 if (UNTAG_Bool(variable[13])) { /*if*/
4702 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode4*/)( variable[9] /*listnode4*/) /*AbstractArray::is_empty*/;
4703 if (UNTAG_Bool(variable[13])) { /*if*/
4704 variable[9] = variable[12] /*listnode3*/ /*listnode4=*/;
4705 } else { /*if*/
4706 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, variable[12] /*listnode3*/) /*IndexedCollection::append*/;
4707 }
4708 }
4709 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4710 variable[13] = variable[14];
4711 variable[14] = variable[6] /*nodearraylist3*/;
4712 variable[15] = TAG_Bool(( variable[14] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4713 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction38___action, LOCATE_parser, 2419); nit_exit(1);}
4714 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[14] /*ppropdefnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*ppropdefnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*ppropdefnode6*/)( variable[14] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4715 if (UNTAG_Bool(variable[15])) { /*if*/
4716 CALL_abstract_collection___SimpleCollection___add( variable[13] /*listnode7*/)( variable[13] /*listnode7*/, variable[14] /*ppropdefnode6*/) /*AbstractArray::add*/;
4717 }
4718 variable[16] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[13] /*listnode7*/); /*new ATopClassdef*/
4719 variable[15] = variable[16];
4720 variable[16] = variable[4] /*nodearraylist5*/;
4721 variable[17] = TAG_Bool(( variable[16] /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4722 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction38___action, LOCATE_parser, 2427); nit_exit(1);}
4723 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[15] /*pclassdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*pclassdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*pclassdefnode5*/)( variable[15] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4724 if (UNTAG_Bool(variable[17])) { /*if*/
4725 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode9*/)( variable[10] /*listnode9*/, variable[15] /*pclassdefnode5*/) /*AbstractArray::add*/;
4726 }
4727 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*pclassdefnode8*/ == NIT_NULL /*null*/) || (( variable[16] /*pclassdefnode8*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[16] /*pclassdefnode8*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[16] /*pclassdefnode8*/)( variable[16] /*pclassdefnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4728 if (UNTAG_Bool(variable[17])) { /*if*/
4729 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode9*/)( variable[10] /*listnode9*/, variable[16] /*pclassdefnode8*/) /*AbstractArray::add*/;
4730 }
4731 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( variable[11] /*ppackagedeclnode2*/, variable[9] /*listnode4*/, variable[10] /*listnode9*/); /*new AModule*/
4732 variable[17] = variable[18];
4733 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
4734 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4735 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
4736 return_label108: while(false);
4737 tracehead = trace.prev;
4738 return;
4739 }
4740 void parser___ReduceAction38___init(val_t self, int* init_table) {
4741 struct trace_t trace = {NULL, NULL, 2442, LOCATE_parser___ReduceAction38___init};
4742 val_t variable[2];
4743 void **closurevariable = NULL;
4744 trace.prev = tracehead; tracehead = &trace;
4745 trace.file = LOCATE_parser;
4746 variable[0] = self;
4747 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction38].i]) return;
4748 return_label109: while(false);
4749 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction38].i] = 1;
4750 tracehead = trace.prev;
4751 return;
4752 }
4753 void parser___ReduceAction39___action(val_t self, val_t param0) {
4754 struct trace_t trace = {NULL, NULL, 2446, LOCATE_parser___ReduceAction39___action};
4755 val_t variable[21];
4756 void **closurevariable = NULL;
4757 trace.prev = tracehead; tracehead = &trace;
4758 trace.file = LOCATE_parser;
4759 variable[0] = self;
4760 variable[1] = param0;
4761 variable[3] = NIT_NULL /*null*/;
4762 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4763 variable[4] = variable[5];
4764 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4765 variable[5] = variable[6];
4766 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4767 variable[6] = variable[7];
4768 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4769 variable[7] = variable[8];
4770 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4771 variable[8] = variable[9];
4772 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4773 variable[9] = variable[10];
4774 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4775 variable[10] = variable[11];
4776 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4777 variable[11] = variable[12];
4778 variable[12] = variable[9] /*nodearraylist1*/;
4779 variable[13] = TAG_Bool(( variable[12] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
4780 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction39___action, LOCATE_parser, 2458); nit_exit(1);}
4781 variable[13] = variable[8] /*nodearraylist2*/;
4782 variable[14] = TAG_Bool(( variable[13] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4783 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction39___action, LOCATE_parser, 2460); nit_exit(1);}
4784 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*listnode3*/)( variable[13] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4785 if (UNTAG_Bool(variable[14])) { /*if*/
4786 variable[14] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode4*/)( variable[10] /*listnode4*/) /*AbstractArray::is_empty*/;
4787 if (UNTAG_Bool(variable[14])) { /*if*/
4788 variable[10] = variable[13] /*listnode3*/ /*listnode4=*/;
4789 } else { /*if*/
4790 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, variable[13] /*listnode3*/) /*IndexedCollection::append*/;
4791 }
4792 }
4793 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4794 variable[14] = variable[15];
4795 variable[15] = variable[7] /*nodearraylist3*/;
4796 variable[16] = TAG_Bool(( variable[15] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4797 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction39___action, LOCATE_parser, 2470); nit_exit(1);}
4798 variable[16] = variable[5] /*nodearraylist5*/;
4799 variable[17] = TAG_Bool(( variable[16] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4800 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction39___action, LOCATE_parser, 2472); nit_exit(1);}
4801 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[15] /*ppropdefnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*ppropdefnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*ppropdefnode6*/)( variable[15] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4802 if (UNTAG_Bool(variable[17])) { /*if*/
4803 CALL_abstract_collection___SimpleCollection___add( variable[14] /*listnode8*/)( variable[14] /*listnode8*/, variable[15] /*ppropdefnode6*/) /*AbstractArray::add*/;
4804 }
4805 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[16] /*listnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[16] /*listnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[16] /*listnode7*/)( variable[16] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4806 if (UNTAG_Bool(variable[17])) { /*if*/
4807 variable[17] = CALL_abstract_collection___Collection___is_empty( variable[14] /*listnode8*/)( variable[14] /*listnode8*/) /*AbstractArray::is_empty*/;
4808 if (UNTAG_Bool(variable[17])) { /*if*/
4809 variable[14] = variable[16] /*listnode7*/ /*listnode8=*/;
4810 } else { /*if*/
4811 CALL_abstract_collection___IndexedCollection___append( variable[14] /*listnode8*/)( variable[14] /*listnode8*/, variable[16] /*listnode7*/) /*IndexedCollection::append*/;
4812 }
4813 }
4814 variable[18] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[14] /*listnode8*/); /*new ATopClassdef*/
4815 variable[17] = variable[18];
4816 variable[18] = variable[4] /*nodearraylist6*/;
4817 variable[19] = TAG_Bool(( variable[18] /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4818 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction39___action, LOCATE_parser, 2487); nit_exit(1);}
4819 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[17] /*pclassdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[17] /*pclassdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[17] /*pclassdefnode5*/)( variable[17] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4820 if (UNTAG_Bool(variable[19])) { /*if*/
4821 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode10*/)( variable[11] /*listnode10*/, variable[17] /*pclassdefnode5*/) /*AbstractArray::add*/;
4822 }
4823 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*pclassdefnode9*/ == NIT_NULL /*null*/) || (( variable[18] /*pclassdefnode9*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[18] /*pclassdefnode9*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[18] /*pclassdefnode9*/)( variable[18] /*pclassdefnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4824 if (UNTAG_Bool(variable[19])) { /*if*/
4825 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode10*/)( variable[11] /*listnode10*/, variable[18] /*pclassdefnode9*/) /*AbstractArray::add*/;
4826 }
4827 variable[20] = NEW_AModule_parser_prod___AModule___init_amodule( variable[12] /*ppackagedeclnode2*/, variable[10] /*listnode4*/, variable[11] /*listnode10*/); /*new AModule*/
4828 variable[19] = variable[20];
4829 variable[3] = variable[19] /*pmodulenode1*/ /*node_list=*/;
4830 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4831 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
4832 return_label110: while(false);
4833 tracehead = trace.prev;
4834 return;
4835 }
4836 void parser___ReduceAction39___init(val_t self, int* init_table) {
4837 struct trace_t trace = {NULL, NULL, 2502, LOCATE_parser___ReduceAction39___init};
4838 val_t variable[2];
4839 void **closurevariable = NULL;
4840 trace.prev = tracehead; tracehead = &trace;
4841 trace.file = LOCATE_parser;
4842 variable[0] = self;
4843 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction39].i]) return;
4844 return_label111: while(false);
4845 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction39].i] = 1;
4846 tracehead = trace.prev;
4847 return;
4848 }
4849 void parser___ReduceAction40___action(val_t self, val_t param0) {
4850 struct trace_t trace = {NULL, NULL, 2506, LOCATE_parser___ReduceAction40___action};
4851 val_t variable[17];
4852 void **closurevariable = NULL;
4853 trace.prev = tracehead; tracehead = &trace;
4854 trace.file = LOCATE_parser;
4855 variable[0] = self;
4856 variable[1] = param0;
4857 variable[3] = NIT_NULL /*null*/;
4858 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4859 variable[4] = variable[5];
4860 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4861 variable[5] = variable[6];
4862 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4863 variable[6] = variable[7];
4864 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4865 variable[7] = variable[8];
4866 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4867 variable[8] = variable[9];
4868 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4869 variable[9] = variable[10];
4870 variable[10] = variable[7] /*nodearraylist1*/;
4871 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4872 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction40___action, LOCATE_parser, 2516); nit_exit(1);}
4873 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4874 variable[11] = variable[12];
4875 variable[12] = variable[6] /*nodearraylist2*/;
4876 variable[13] = TAG_Bool(( variable[12] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4877 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction40___action, LOCATE_parser, 2519); nit_exit(1);}
4878 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*ppropdefnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*ppropdefnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*ppropdefnode6*/)( variable[12] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4879 if (UNTAG_Bool(variable[13])) { /*if*/
4880 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[12] /*ppropdefnode6*/) /*AbstractArray::add*/;
4881 }
4882 variable[14] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[11] /*listnode7*/); /*new ATopClassdef*/
4883 variable[13] = variable[14];
4884 variable[14] = variable[4] /*nodearraylist4*/;
4885 variable[15] = TAG_Bool(( variable[14] /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4886 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction40___action, LOCATE_parser, 2527); nit_exit(1);}
4887 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4888 if (UNTAG_Bool(variable[15])) { /*if*/
4889 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode9*/)( variable[9] /*listnode9*/) /*AbstractArray::is_empty*/;
4890 if (UNTAG_Bool(variable[15])) { /*if*/
4891 variable[9] = variable[10] /*listnode4*/ /*listnode9=*/;
4892 } else { /*if*/
4893 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode9*/)( variable[9] /*listnode9*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
4894 }
4895 }
4896 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[13] /*pclassdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*pclassdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*pclassdefnode5*/)( variable[13] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4897 if (UNTAG_Bool(variable[15])) { /*if*/
4898 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode9*/)( variable[9] /*listnode9*/, variable[13] /*pclassdefnode5*/) /*AbstractArray::add*/;
4899 }
4900 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*pclassdefnode8*/ == NIT_NULL /*null*/) || (( variable[14] /*pclassdefnode8*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*pclassdefnode8*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*pclassdefnode8*/)( variable[14] /*pclassdefnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4901 if (UNTAG_Bool(variable[15])) { /*if*/
4902 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode9*/)( variable[9] /*listnode9*/, variable[14] /*pclassdefnode8*/) /*AbstractArray::add*/;
4903 }
4904 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[8] /*listnode3*/, variable[9] /*listnode9*/); /*new AModule*/
4905 variable[15] = variable[16];
4906 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
4907 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4908 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
4909 return_label112: while(false);
4910 tracehead = trace.prev;
4911 return;
4912 }
4913 void parser___ReduceAction40___init(val_t self, int* init_table) {
4914 struct trace_t trace = {NULL, NULL, 2549, LOCATE_parser___ReduceAction40___init};
4915 val_t variable[2];
4916 void **closurevariable = NULL;
4917 trace.prev = tracehead; tracehead = &trace;
4918 trace.file = LOCATE_parser;
4919 variable[0] = self;
4920 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction40].i]) return;
4921 return_label113: while(false);
4922 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction40].i] = 1;
4923 tracehead = trace.prev;
4924 return;
4925 }
4926 void parser___ReduceAction41___action(val_t self, val_t param0) {
4927 struct trace_t trace = {NULL, NULL, 2553, LOCATE_parser___ReduceAction41___action};
4928 val_t variable[19];
4929 void **closurevariable = NULL;
4930 trace.prev = tracehead; tracehead = &trace;
4931 trace.file = LOCATE_parser;
4932 variable[0] = self;
4933 variable[1] = param0;
4934 variable[3] = NIT_NULL /*null*/;
4935 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4936 variable[4] = variable[5];
4937 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4938 variable[5] = variable[6];
4939 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4940 variable[6] = variable[7];
4941 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4942 variable[7] = variable[8];
4943 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4944 variable[8] = variable[9];
4945 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4946 variable[9] = variable[10];
4947 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4948 variable[10] = variable[11];
4949 variable[11] = variable[8] /*nodearraylist1*/;
4950 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4951 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction41___action, LOCATE_parser, 2564); nit_exit(1);}
4952 variable[13] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4953 variable[12] = variable[13];
4954 variable[13] = variable[7] /*nodearraylist2*/;
4955 variable[14] = TAG_Bool(( variable[13] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[13] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4956 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction41___action, LOCATE_parser, 2567); nit_exit(1);}
4957 variable[14] = variable[5] /*nodearraylist4*/;
4958 variable[15] = TAG_Bool(( variable[14] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4959 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction41___action, LOCATE_parser, 2569); nit_exit(1);}
4960 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[13] /*ppropdefnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*ppropdefnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*ppropdefnode6*/)( variable[13] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4961 if (UNTAG_Bool(variable[15])) { /*if*/
4962 CALL_abstract_collection___SimpleCollection___add( variable[12] /*listnode8*/)( variable[12] /*listnode8*/, variable[13] /*ppropdefnode6*/) /*AbstractArray::add*/;
4963 }
4964 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*listnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*listnode7*/)( variable[14] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4965 if (UNTAG_Bool(variable[15])) { /*if*/
4966 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[12] /*listnode8*/)( variable[12] /*listnode8*/) /*AbstractArray::is_empty*/;
4967 if (UNTAG_Bool(variable[15])) { /*if*/
4968 variable[12] = variable[14] /*listnode7*/ /*listnode8=*/;
4969 } else { /*if*/
4970 CALL_abstract_collection___IndexedCollection___append( variable[12] /*listnode8*/)( variable[12] /*listnode8*/, variable[14] /*listnode7*/) /*IndexedCollection::append*/;
4971 }
4972 }
4973 variable[16] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[12] /*listnode8*/); /*new ATopClassdef*/
4974 variable[15] = variable[16];
4975 variable[16] = variable[4] /*nodearraylist5*/;
4976 variable[17] = TAG_Bool(( variable[16] /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4977 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction41___action, LOCATE_parser, 2584); nit_exit(1);}
4978 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4979 if (UNTAG_Bool(variable[17])) { /*if*/
4980 variable[17] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode10*/)( variable[10] /*listnode10*/) /*AbstractArray::is_empty*/;
4981 if (UNTAG_Bool(variable[17])) { /*if*/
4982 variable[10] = variable[11] /*listnode4*/ /*listnode10=*/;
4983 } else { /*if*/
4984 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode10*/)( variable[10] /*listnode10*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
4985 }
4986 }
4987 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[15] /*pclassdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*pclassdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*pclassdefnode5*/)( variable[15] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4988 if (UNTAG_Bool(variable[17])) { /*if*/
4989 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode10*/)( variable[10] /*listnode10*/, variable[15] /*pclassdefnode5*/) /*AbstractArray::add*/;
4990 }
4991 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*pclassdefnode9*/ == NIT_NULL /*null*/) || (( variable[16] /*pclassdefnode9*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[16] /*pclassdefnode9*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[16] /*pclassdefnode9*/)( variable[16] /*pclassdefnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4992 if (UNTAG_Bool(variable[17])) { /*if*/
4993 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode10*/)( variable[10] /*listnode10*/, variable[16] /*pclassdefnode9*/) /*AbstractArray::add*/;
4994 }
4995 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[9] /*listnode3*/, variable[10] /*listnode10*/); /*new AModule*/
4996 variable[17] = variable[18];
4997 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
4998 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4999 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
5000 return_label114: while(false);
5001 tracehead = trace.prev;
5002 return;
5003 }
5004 void parser___ReduceAction41___init(val_t self, int* init_table) {
5005 struct trace_t trace = {NULL, NULL, 2606, LOCATE_parser___ReduceAction41___init};
5006 val_t variable[2];
5007 void **closurevariable = NULL;
5008 trace.prev = tracehead; tracehead = &trace;
5009 trace.file = LOCATE_parser;
5010 variable[0] = self;
5011 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction41].i]) return;
5012 return_label115: while(false);
5013 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction41].i] = 1;
5014 tracehead = trace.prev;
5015 return;
5016 }
5017 void parser___ReduceAction42___action(val_t self, val_t param0) {
5018 struct trace_t trace = {NULL, NULL, 2610, LOCATE_parser___ReduceAction42___action};
5019 val_t variable[19];
5020 void **closurevariable = NULL;
5021 trace.prev = tracehead; tracehead = &trace;
5022 trace.file = LOCATE_parser;
5023 variable[0] = self;
5024 variable[1] = param0;
5025 variable[3] = NIT_NULL /*null*/;
5026 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5027 variable[4] = variable[5];
5028 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5029 variable[5] = variable[6];
5030 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5031 variable[6] = variable[7];
5032 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5033 variable[7] = variable[8];
5034 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5035 variable[8] = variable[9];
5036 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5037 variable[9] = variable[10];
5038 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5039 variable[10] = variable[11];
5040 variable[11] = variable[8] /*nodearraylist1*/;
5041 variable[12] = TAG_Bool(( variable[11] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
5042 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction42___action, LOCATE_parser, 2621); nit_exit(1);}
5043 variable[12] = variable[7] /*nodearraylist2*/;
5044 variable[13] = TAG_Bool(( variable[12] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5045 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction42___action, LOCATE_parser, 2623); nit_exit(1);}
5046 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5047 variable[13] = variable[14];
5048 variable[14] = variable[6] /*nodearraylist3*/;
5049 variable[15] = TAG_Bool(( variable[14] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5050 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction42___action, LOCATE_parser, 2626); nit_exit(1);}
5051 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[14] /*ppropdefnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*ppropdefnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*ppropdefnode6*/)( variable[14] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5052 if (UNTAG_Bool(variable[15])) { /*if*/
5053 CALL_abstract_collection___SimpleCollection___add( variable[13] /*listnode7*/)( variable[13] /*listnode7*/, variable[14] /*ppropdefnode6*/) /*AbstractArray::add*/;
5054 }
5055 variable[16] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[13] /*listnode7*/); /*new ATopClassdef*/
5056 variable[15] = variable[16];
5057 variable[16] = variable[4] /*nodearraylist5*/;
5058 variable[17] = TAG_Bool(( variable[16] /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5059 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction42___action, LOCATE_parser, 2634); nit_exit(1);}
5060 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode4*/)( variable[12] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5061 if (UNTAG_Bool(variable[17])) { /*if*/
5062 variable[17] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode9*/)( variable[10] /*listnode9*/) /*AbstractArray::is_empty*/;
5063 if (UNTAG_Bool(variable[17])) { /*if*/
5064 variable[10] = variable[12] /*listnode4*/ /*listnode9=*/;
5065 } else { /*if*/
5066 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode9*/)( variable[10] /*listnode9*/, variable[12] /*listnode4*/) /*IndexedCollection::append*/;
5067 }
5068 }
5069 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[15] /*pclassdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*pclassdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*pclassdefnode5*/)( variable[15] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5070 if (UNTAG_Bool(variable[17])) { /*if*/
5071 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode9*/)( variable[10] /*listnode9*/, variable[15] /*pclassdefnode5*/) /*AbstractArray::add*/;
5072 }
5073 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*pclassdefnode8*/ == NIT_NULL /*null*/) || (( variable[16] /*pclassdefnode8*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[16] /*pclassdefnode8*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[16] /*pclassdefnode8*/)( variable[16] /*pclassdefnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5074 if (UNTAG_Bool(variable[17])) { /*if*/
5075 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode9*/)( variable[10] /*listnode9*/, variable[16] /*pclassdefnode8*/) /*AbstractArray::add*/;
5076 }
5077 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( variable[11] /*ppackagedeclnode2*/, variable[9] /*listnode3*/, variable[10] /*listnode9*/); /*new AModule*/
5078 variable[17] = variable[18];
5079 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
5080 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5081 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
5082 return_label116: while(false);
5083 tracehead = trace.prev;
5084 return;
5085 }
5086 void parser___ReduceAction42___init(val_t self, int* init_table) {
5087 struct trace_t trace = {NULL, NULL, 2656, LOCATE_parser___ReduceAction42___init};
5088 val_t variable[2];
5089 void **closurevariable = NULL;
5090 trace.prev = tracehead; tracehead = &trace;
5091 trace.file = LOCATE_parser;
5092 variable[0] = self;
5093 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction42].i]) return;
5094 return_label117: while(false);
5095 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction42].i] = 1;
5096 tracehead = trace.prev;
5097 return;
5098 }
5099 void parser___ReduceAction43___action(val_t self, val_t param0) {
5100 struct trace_t trace = {NULL, NULL, 2660, LOCATE_parser___ReduceAction43___action};
5101 val_t variable[21];
5102 void **closurevariable = NULL;
5103 trace.prev = tracehead; tracehead = &trace;
5104 trace.file = LOCATE_parser;
5105 variable[0] = self;
5106 variable[1] = param0;
5107 variable[3] = NIT_NULL /*null*/;
5108 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5109 variable[4] = variable[5];
5110 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5111 variable[5] = variable[6];
5112 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5113 variable[6] = variable[7];
5114 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5115 variable[7] = variable[8];
5116 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5117 variable[8] = variable[9];
5118 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5119 variable[9] = variable[10];
5120 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5121 variable[10] = variable[11];
5122 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5123 variable[11] = variable[12];
5124 variable[12] = variable[9] /*nodearraylist1*/;
5125 variable[13] = TAG_Bool(( variable[12] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
5126 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction43___action, LOCATE_parser, 2672); nit_exit(1);}
5127 variable[13] = variable[8] /*nodearraylist2*/;
5128 variable[14] = TAG_Bool(( variable[13] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5129 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction43___action, LOCATE_parser, 2674); nit_exit(1);}
5130 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5131 variable[14] = variable[15];
5132 variable[15] = variable[7] /*nodearraylist3*/;
5133 variable[16] = TAG_Bool(( variable[15] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5134 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction43___action, LOCATE_parser, 2677); nit_exit(1);}
5135 variable[16] = variable[5] /*nodearraylist5*/;
5136 variable[17] = TAG_Bool(( variable[16] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5137 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction43___action, LOCATE_parser, 2679); nit_exit(1);}
5138 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[15] /*ppropdefnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*ppropdefnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*ppropdefnode6*/)( variable[15] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5139 if (UNTAG_Bool(variable[17])) { /*if*/
5140 CALL_abstract_collection___SimpleCollection___add( variable[14] /*listnode8*/)( variable[14] /*listnode8*/, variable[15] /*ppropdefnode6*/) /*AbstractArray::add*/;
5141 }
5142 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[16] /*listnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[16] /*listnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[16] /*listnode7*/)( variable[16] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5143 if (UNTAG_Bool(variable[17])) { /*if*/
5144 variable[17] = CALL_abstract_collection___Collection___is_empty( variable[14] /*listnode8*/)( variable[14] /*listnode8*/) /*AbstractArray::is_empty*/;
5145 if (UNTAG_Bool(variable[17])) { /*if*/
5146 variable[14] = variable[16] /*listnode7*/ /*listnode8=*/;
5147 } else { /*if*/
5148 CALL_abstract_collection___IndexedCollection___append( variable[14] /*listnode8*/)( variable[14] /*listnode8*/, variable[16] /*listnode7*/) /*IndexedCollection::append*/;
5149 }
5150 }
5151 variable[18] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[14] /*listnode8*/); /*new ATopClassdef*/
5152 variable[17] = variable[18];
5153 variable[18] = variable[4] /*nodearraylist6*/;
5154 variable[19] = TAG_Bool(( variable[18] /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5155 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction43___action, LOCATE_parser, 2694); nit_exit(1);}
5156 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*listnode4*/)( variable[13] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5157 if (UNTAG_Bool(variable[19])) { /*if*/
5158 variable[19] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode10*/)( variable[11] /*listnode10*/) /*AbstractArray::is_empty*/;
5159 if (UNTAG_Bool(variable[19])) { /*if*/
5160 variable[11] = variable[13] /*listnode4*/ /*listnode10=*/;
5161 } else { /*if*/
5162 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode10*/)( variable[11] /*listnode10*/, variable[13] /*listnode4*/) /*IndexedCollection::append*/;
5163 }
5164 }
5165 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[17] /*pclassdefnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[17] /*pclassdefnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[17] /*pclassdefnode5*/)( variable[17] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5166 if (UNTAG_Bool(variable[19])) { /*if*/
5167 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode10*/)( variable[11] /*listnode10*/, variable[17] /*pclassdefnode5*/) /*AbstractArray::add*/;
5168 }
5169 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*pclassdefnode9*/ == NIT_NULL /*null*/) || (( variable[18] /*pclassdefnode9*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[18] /*pclassdefnode9*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[18] /*pclassdefnode9*/)( variable[18] /*pclassdefnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5170 if (UNTAG_Bool(variable[19])) { /*if*/
5171 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode10*/)( variable[11] /*listnode10*/, variable[18] /*pclassdefnode9*/) /*AbstractArray::add*/;
5172 }
5173 variable[20] = NEW_AModule_parser_prod___AModule___init_amodule( variable[12] /*ppackagedeclnode2*/, variable[10] /*listnode3*/, variable[11] /*listnode10*/); /*new AModule*/
5174 variable[19] = variable[20];
5175 variable[3] = variable[19] /*pmodulenode1*/ /*node_list=*/;
5176 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5177 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
5178 return_label118: while(false);
5179 tracehead = trace.prev;
5180 return;
5181 }
5182 void parser___ReduceAction43___init(val_t self, int* init_table) {
5183 struct trace_t trace = {NULL, NULL, 2716, LOCATE_parser___ReduceAction43___init};
5184 val_t variable[2];
5185 void **closurevariable = NULL;
5186 trace.prev = tracehead; tracehead = &trace;
5187 trace.file = LOCATE_parser;
5188 variable[0] = self;
5189 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction43].i]) return;
5190 return_label119: while(false);
5191 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction43].i] = 1;
5192 tracehead = trace.prev;
5193 return;
5194 }
5195 void parser___ReduceAction44___action(val_t self, val_t param0) {
5196 struct trace_t trace = {NULL, NULL, 2720, LOCATE_parser___ReduceAction44___action};
5197 val_t variable[19];
5198 void **closurevariable = NULL;
5199 trace.prev = tracehead; tracehead = &trace;
5200 trace.file = LOCATE_parser;
5201 variable[0] = self;
5202 variable[1] = param0;
5203 variable[3] = NIT_NULL /*null*/;
5204 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5205 variable[4] = variable[5];
5206 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5207 variable[5] = variable[6];
5208 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5209 variable[6] = variable[7];
5210 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5211 variable[7] = variable[8];
5212 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5213 variable[8] = variable[9];
5214 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5215 variable[9] = variable[10];
5216 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5217 variable[10] = variable[11];
5218 variable[11] = variable[8] /*nodearraylist1*/;
5219 variable[12] = TAG_Bool(( variable[11] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5220 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction44___action, LOCATE_parser, 2731); nit_exit(1);}
5221 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode3*/)( variable[11] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5222 if (UNTAG_Bool(variable[12])) { /*if*/
5223 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode4*/)( variable[9] /*listnode4*/) /*AbstractArray::is_empty*/;
5224 if (UNTAG_Bool(variable[12])) { /*if*/
5225 variable[9] = variable[11] /*listnode3*/ /*listnode4=*/;
5226 } else { /*if*/
5227 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, variable[11] /*listnode3*/) /*IndexedCollection::append*/;
5228 }
5229 }
5230 variable[12] = variable[7] /*nodearraylist2*/;
5231 variable[13] = TAG_Bool(( variable[12] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5232 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction44___action, LOCATE_parser, 2740); nit_exit(1);}
5233 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5234 variable[13] = variable[14];
5235 variable[14] = variable[6] /*nodearraylist3*/;
5236 variable[15] = TAG_Bool(( variable[14] /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5237 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction44___action, LOCATE_parser, 2743); nit_exit(1);}
5238 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable[14] /*ppropdefnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*ppropdefnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*ppropdefnode7*/)( variable[14] /*ppropdefnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5239 if (UNTAG_Bool(variable[15])) { /*if*/
5240 CALL_abstract_collection___SimpleCollection___add( variable[13] /*listnode8*/)( variable[13] /*listnode8*/, variable[14] /*ppropdefnode7*/) /*AbstractArray::add*/;
5241 }
5242 variable[16] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[13] /*listnode8*/); /*new ATopClassdef*/
5243 variable[15] = variable[16];
5244 variable[16] = variable[4] /*nodearraylist5*/;
5245 variable[17] = TAG_Bool(( variable[16] /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5246 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction44___action, LOCATE_parser, 2751); nit_exit(1);}
5247 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode5*/)( variable[12] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5248 if (UNTAG_Bool(variable[17])) { /*if*/
5249 variable[17] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode10*/)( variable[10] /*listnode10*/) /*AbstractArray::is_empty*/;
5250 if (UNTAG_Bool(variable[17])) { /*if*/
5251 variable[10] = variable[12] /*listnode5*/ /*listnode10=*/;
5252 } else { /*if*/
5253 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode10*/)( variable[10] /*listnode10*/, variable[12] /*listnode5*/) /*IndexedCollection::append*/;
5254 }
5255 }
5256 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable[15] /*pclassdefnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*pclassdefnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*pclassdefnode6*/)( variable[15] /*pclassdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5257 if (UNTAG_Bool(variable[17])) { /*if*/
5258 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode10*/)( variable[10] /*listnode10*/, variable[15] /*pclassdefnode6*/) /*AbstractArray::add*/;
5259 }
5260 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*pclassdefnode9*/ == NIT_NULL /*null*/) || (( variable[16] /*pclassdefnode9*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[16] /*pclassdefnode9*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[16] /*pclassdefnode9*/)( variable[16] /*pclassdefnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5261 if (UNTAG_Bool(variable[17])) { /*if*/
5262 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode10*/)( variable[10] /*listnode10*/, variable[16] /*pclassdefnode9*/) /*AbstractArray::add*/;
5263 }
5264 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[9] /*listnode4*/, variable[10] /*listnode10*/); /*new AModule*/
5265 variable[17] = variable[18];
5266 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
5267 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5268 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
5269 return_label120: while(false);
5270 tracehead = trace.prev;
5271 return;
5272 }
5273 void parser___ReduceAction44___init(val_t self, int* init_table) {
5274 struct trace_t trace = {NULL, NULL, 2773, LOCATE_parser___ReduceAction44___init};
5275 val_t variable[2];
5276 void **closurevariable = NULL;
5277 trace.prev = tracehead; tracehead = &trace;
5278 trace.file = LOCATE_parser;
5279 variable[0] = self;
5280 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction44].i]) return;
5281 return_label121: while(false);
5282 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction44].i] = 1;
5283 tracehead = trace.prev;
5284 return;
5285 }
5286 void parser___ReduceAction45___action(val_t self, val_t param0) {
5287 struct trace_t trace = {NULL, NULL, 2777, LOCATE_parser___ReduceAction45___action};
5288 val_t variable[21];
5289 void **closurevariable = NULL;
5290 trace.prev = tracehead; tracehead = &trace;
5291 trace.file = LOCATE_parser;
5292 variable[0] = self;
5293 variable[1] = param0;
5294 variable[3] = NIT_NULL /*null*/;
5295 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5296 variable[4] = variable[5];
5297 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5298 variable[5] = variable[6];
5299 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5300 variable[6] = variable[7];
5301 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5302 variable[7] = variable[8];
5303 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5304 variable[8] = variable[9];
5305 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5306 variable[9] = variable[10];
5307 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5308 variable[10] = variable[11];
5309 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5310 variable[11] = variable[12];
5311 variable[12] = variable[9] /*nodearraylist1*/;
5312 variable[13] = TAG_Bool(( variable[12] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5313 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction45___action, LOCATE_parser, 2789); nit_exit(1);}
5314 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode3*/)( variable[12] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5315 if (UNTAG_Bool(variable[13])) { /*if*/
5316 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode4*/)( variable[10] /*listnode4*/) /*AbstractArray::is_empty*/;
5317 if (UNTAG_Bool(variable[13])) { /*if*/
5318 variable[10] = variable[12] /*listnode3*/ /*listnode4=*/;
5319 } else { /*if*/
5320 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, variable[12] /*listnode3*/) /*IndexedCollection::append*/;
5321 }
5322 }
5323 variable[13] = variable[8] /*nodearraylist2*/;
5324 variable[14] = TAG_Bool(( variable[13] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5325 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction45___action, LOCATE_parser, 2798); nit_exit(1);}
5326 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5327 variable[14] = variable[15];
5328 variable[15] = variable[7] /*nodearraylist3*/;
5329 variable[16] = TAG_Bool(( variable[15] /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5330 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction45___action, LOCATE_parser, 2801); nit_exit(1);}
5331 variable[16] = variable[5] /*nodearraylist5*/;
5332 variable[17] = TAG_Bool(( variable[16] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[16] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5333 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction45___action, LOCATE_parser, 2803); nit_exit(1);}
5334 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable[15] /*ppropdefnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*ppropdefnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*ppropdefnode7*/)( variable[15] /*ppropdefnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5335 if (UNTAG_Bool(variable[17])) { /*if*/
5336 CALL_abstract_collection___SimpleCollection___add( variable[14] /*listnode9*/)( variable[14] /*listnode9*/, variable[15] /*ppropdefnode7*/) /*AbstractArray::add*/;
5337 }
5338 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[16] /*listnode8*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[16] /*listnode8*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[16] /*listnode8*/)( variable[16] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5339 if (UNTAG_Bool(variable[17])) { /*if*/
5340 variable[17] = CALL_abstract_collection___Collection___is_empty( variable[14] /*listnode9*/)( variable[14] /*listnode9*/) /*AbstractArray::is_empty*/;
5341 if (UNTAG_Bool(variable[17])) { /*if*/
5342 variable[14] = variable[16] /*listnode8*/ /*listnode9=*/;
5343 } else { /*if*/
5344 CALL_abstract_collection___IndexedCollection___append( variable[14] /*listnode9*/)( variable[14] /*listnode9*/, variable[16] /*listnode8*/) /*IndexedCollection::append*/;
5345 }
5346 }
5347 variable[18] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[14] /*listnode9*/); /*new ATopClassdef*/
5348 variable[17] = variable[18];
5349 variable[18] = variable[4] /*nodearraylist6*/;
5350 variable[19] = TAG_Bool(( variable[18] /*pclassdefnode10*/==NIT_NULL) || VAL_ISA( variable[18] /*pclassdefnode10*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5351 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction45___action, LOCATE_parser, 2818); nit_exit(1);}
5352 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*listnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*listnode5*/)( variable[13] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5353 if (UNTAG_Bool(variable[19])) { /*if*/
5354 variable[19] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode11*/)( variable[11] /*listnode11*/) /*AbstractArray::is_empty*/;
5355 if (UNTAG_Bool(variable[19])) { /*if*/
5356 variable[11] = variable[13] /*listnode5*/ /*listnode11=*/;
5357 } else { /*if*/
5358 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode11*/)( variable[11] /*listnode11*/, variable[13] /*listnode5*/) /*IndexedCollection::append*/;
5359 }
5360 }
5361 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable[17] /*pclassdefnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[17] /*pclassdefnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[17] /*pclassdefnode6*/)( variable[17] /*pclassdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5362 if (UNTAG_Bool(variable[19])) { /*if*/
5363 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode11*/)( variable[11] /*listnode11*/, variable[17] /*pclassdefnode6*/) /*AbstractArray::add*/;
5364 }
5365 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*pclassdefnode10*/ == NIT_NULL /*null*/) || (( variable[18] /*pclassdefnode10*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[18] /*pclassdefnode10*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*pclassdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[18] /*pclassdefnode10*/)( variable[18] /*pclassdefnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5366 if (UNTAG_Bool(variable[19])) { /*if*/
5367 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode11*/)( variable[11] /*listnode11*/, variable[18] /*pclassdefnode10*/) /*AbstractArray::add*/;
5368 }
5369 variable[20] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[10] /*listnode4*/, variable[11] /*listnode11*/); /*new AModule*/
5370 variable[19] = variable[20];
5371 variable[3] = variable[19] /*pmodulenode1*/ /*node_list=*/;
5372 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5373 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
5374 return_label122: while(false);
5375 tracehead = trace.prev;
5376 return;
5377 }
5378 void parser___ReduceAction45___init(val_t self, int* init_table) {
5379 struct trace_t trace = {NULL, NULL, 2840, LOCATE_parser___ReduceAction45___init};
5380 val_t variable[2];
5381 void **closurevariable = NULL;
5382 trace.prev = tracehead; tracehead = &trace;
5383 trace.file = LOCATE_parser;
5384 variable[0] = self;
5385 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction45].i]) return;
5386 return_label123: while(false);
5387 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction45].i] = 1;
5388 tracehead = trace.prev;
5389 return;
5390 }
5391 void parser___ReduceAction46___action(val_t self, val_t param0) {
5392 struct trace_t trace = {NULL, NULL, 2844, LOCATE_parser___ReduceAction46___action};
5393 val_t variable[21];
5394 void **closurevariable = NULL;
5395 trace.prev = tracehead; tracehead = &trace;
5396 trace.file = LOCATE_parser;
5397 variable[0] = self;
5398 variable[1] = param0;
5399 variable[3] = NIT_NULL /*null*/;
5400 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5401 variable[4] = variable[5];
5402 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5403 variable[5] = variable[6];
5404 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5405 variable[6] = variable[7];
5406 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5407 variable[7] = variable[8];
5408 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5409 variable[8] = variable[9];
5410 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5411 variable[9] = variable[10];
5412 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5413 variable[10] = variable[11];
5414 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5415 variable[11] = variable[12];
5416 variable[12] = variable[9] /*nodearraylist1*/;
5417 variable[13] = TAG_Bool(( variable[12] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
5418 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction46___action, LOCATE_parser, 2856); nit_exit(1);}
5419 variable[13] = variable[8] /*nodearraylist2*/;
5420 variable[14] = TAG_Bool(( variable[13] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5421 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction46___action, LOCATE_parser, 2858); nit_exit(1);}
5422 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*listnode3*/)( variable[13] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5423 if (UNTAG_Bool(variable[14])) { /*if*/
5424 variable[14] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode4*/)( variable[10] /*listnode4*/) /*AbstractArray::is_empty*/;
5425 if (UNTAG_Bool(variable[14])) { /*if*/
5426 variable[10] = variable[13] /*listnode3*/ /*listnode4=*/;
5427 } else { /*if*/
5428 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, variable[13] /*listnode3*/) /*IndexedCollection::append*/;
5429 }
5430 }
5431 variable[14] = variable[7] /*nodearraylist3*/;
5432 variable[15] = TAG_Bool(( variable[14] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5433 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction46___action, LOCATE_parser, 2867); nit_exit(1);}
5434 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5435 variable[15] = variable[16];
5436 variable[16] = variable[6] /*nodearraylist4*/;
5437 variable[17] = TAG_Bool(( variable[16] /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5438 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction46___action, LOCATE_parser, 2870); nit_exit(1);}
5439 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable[16] /*ppropdefnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[16] /*ppropdefnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[16] /*ppropdefnode7*/)( variable[16] /*ppropdefnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5440 if (UNTAG_Bool(variable[17])) { /*if*/
5441 CALL_abstract_collection___SimpleCollection___add( variable[15] /*listnode8*/)( variable[15] /*listnode8*/, variable[16] /*ppropdefnode7*/) /*AbstractArray::add*/;
5442 }
5443 variable[18] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[15] /*listnode8*/); /*new ATopClassdef*/
5444 variable[17] = variable[18];
5445 variable[18] = variable[4] /*nodearraylist6*/;
5446 variable[19] = TAG_Bool(( variable[18] /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5447 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction46___action, LOCATE_parser, 2878); nit_exit(1);}
5448 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*listnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*listnode5*/)( variable[14] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5449 if (UNTAG_Bool(variable[19])) { /*if*/
5450 variable[19] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode10*/)( variable[11] /*listnode10*/) /*AbstractArray::is_empty*/;
5451 if (UNTAG_Bool(variable[19])) { /*if*/
5452 variable[11] = variable[14] /*listnode5*/ /*listnode10=*/;
5453 } else { /*if*/
5454 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode10*/)( variable[11] /*listnode10*/, variable[14] /*listnode5*/) /*IndexedCollection::append*/;
5455 }
5456 }
5457 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable[17] /*pclassdefnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[17] /*pclassdefnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[17] /*pclassdefnode6*/)( variable[17] /*pclassdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5458 if (UNTAG_Bool(variable[19])) { /*if*/
5459 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode10*/)( variable[11] /*listnode10*/, variable[17] /*pclassdefnode6*/) /*AbstractArray::add*/;
5460 }
5461 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*pclassdefnode9*/ == NIT_NULL /*null*/) || (( variable[18] /*pclassdefnode9*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[18] /*pclassdefnode9*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[18] /*pclassdefnode9*/)( variable[18] /*pclassdefnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5462 if (UNTAG_Bool(variable[19])) { /*if*/
5463 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode10*/)( variable[11] /*listnode10*/, variable[18] /*pclassdefnode9*/) /*AbstractArray::add*/;
5464 }
5465 variable[20] = NEW_AModule_parser_prod___AModule___init_amodule( variable[12] /*ppackagedeclnode2*/, variable[10] /*listnode4*/, variable[11] /*listnode10*/); /*new AModule*/
5466 variable[19] = variable[20];
5467 variable[3] = variable[19] /*pmodulenode1*/ /*node_list=*/;
5468 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5469 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
5470 return_label124: while(false);
5471 tracehead = trace.prev;
5472 return;
5473 }
5474 void parser___ReduceAction46___init(val_t self, int* init_table) {
5475 struct trace_t trace = {NULL, NULL, 2900, LOCATE_parser___ReduceAction46___init};
5476 val_t variable[2];
5477 void **closurevariable = NULL;
5478 trace.prev = tracehead; tracehead = &trace;
5479 trace.file = LOCATE_parser;
5480 variable[0] = self;
5481 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction46].i]) return;
5482 return_label125: while(false);
5483 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction46].i] = 1;
5484 tracehead = trace.prev;
5485 return;
5486 }
5487 void parser___ReduceAction47___action(val_t self, val_t param0) {
5488 struct trace_t trace = {NULL, NULL, 2904, LOCATE_parser___ReduceAction47___action};
5489 val_t variable[23];
5490 void **closurevariable = NULL;
5491 trace.prev = tracehead; tracehead = &trace;
5492 trace.file = LOCATE_parser;
5493 variable[0] = self;
5494 variable[1] = param0;
5495 variable[3] = NIT_NULL /*null*/;
5496 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5497 variable[4] = variable[5];
5498 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5499 variable[5] = variable[6];
5500 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5501 variable[6] = variable[7];
5502 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5503 variable[7] = variable[8];
5504 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5505 variable[8] = variable[9];
5506 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5507 variable[9] = variable[10];
5508 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5509 variable[10] = variable[11];
5510 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5511 variable[11] = variable[12];
5512 variable[13] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5513 variable[12] = variable[13];
5514 variable[13] = variable[10] /*nodearraylist1*/;
5515 variable[14] = TAG_Bool(( variable[13] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
5516 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction47___action, LOCATE_parser, 2917); nit_exit(1);}
5517 variable[14] = variable[9] /*nodearraylist2*/;
5518 variable[15] = TAG_Bool(( variable[14] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5519 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction47___action, LOCATE_parser, 2919); nit_exit(1);}
5520 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*listnode3*/)( variable[14] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5521 if (UNTAG_Bool(variable[15])) { /*if*/
5522 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode4*/)( variable[11] /*listnode4*/) /*AbstractArray::is_empty*/;
5523 if (UNTAG_Bool(variable[15])) { /*if*/
5524 variable[11] = variable[14] /*listnode3*/ /*listnode4=*/;
5525 } else { /*if*/
5526 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode4*/)( variable[11] /*listnode4*/, variable[14] /*listnode3*/) /*IndexedCollection::append*/;
5527 }
5528 }
5529 variable[15] = variable[8] /*nodearraylist3*/;
5530 variable[16] = TAG_Bool(( variable[15] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5531 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction47___action, LOCATE_parser, 2928); nit_exit(1);}
5532 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5533 variable[16] = variable[17];
5534 variable[17] = variable[7] /*nodearraylist4*/;
5535 variable[18] = TAG_Bool(( variable[17] /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable[17] /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5536 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction47___action, LOCATE_parser, 2931); nit_exit(1);}
5537 variable[18] = variable[5] /*nodearraylist6*/;
5538 variable[19] = TAG_Bool(( variable[18] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5539 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction47___action, LOCATE_parser, 2933); nit_exit(1);}
5540 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable[17] /*ppropdefnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[17] /*ppropdefnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[17] /*ppropdefnode7*/)( variable[17] /*ppropdefnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5541 if (UNTAG_Bool(variable[19])) { /*if*/
5542 CALL_abstract_collection___SimpleCollection___add( variable[16] /*listnode9*/)( variable[16] /*listnode9*/, variable[17] /*ppropdefnode7*/) /*AbstractArray::add*/;
5543 }
5544 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode8*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[18] /*listnode8*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[18] /*listnode8*/)( variable[18] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5545 if (UNTAG_Bool(variable[19])) { /*if*/
5546 variable[19] = CALL_abstract_collection___Collection___is_empty( variable[16] /*listnode9*/)( variable[16] /*listnode9*/) /*AbstractArray::is_empty*/;
5547 if (UNTAG_Bool(variable[19])) { /*if*/
5548 variable[16] = variable[18] /*listnode8*/ /*listnode9=*/;
5549 } else { /*if*/
5550 CALL_abstract_collection___IndexedCollection___append( variable[16] /*listnode9*/)( variable[16] /*listnode9*/, variable[18] /*listnode8*/) /*IndexedCollection::append*/;
5551 }
5552 }
5553 variable[20] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[16] /*listnode9*/); /*new ATopClassdef*/
5554 variable[19] = variable[20];
5555 variable[20] = variable[4] /*nodearraylist7*/;
5556 variable[21] = TAG_Bool(( variable[20] /*pclassdefnode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pclassdefnode10*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5557 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction47___action, LOCATE_parser, 2948); nit_exit(1);}
5558 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*listnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*listnode5*/)( variable[15] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5559 if (UNTAG_Bool(variable[21])) { /*if*/
5560 variable[21] = CALL_abstract_collection___Collection___is_empty( variable[12] /*listnode11*/)( variable[12] /*listnode11*/) /*AbstractArray::is_empty*/;
5561 if (UNTAG_Bool(variable[21])) { /*if*/
5562 variable[12] = variable[15] /*listnode5*/ /*listnode11=*/;
5563 } else { /*if*/
5564 CALL_abstract_collection___IndexedCollection___append( variable[12] /*listnode11*/)( variable[12] /*listnode11*/, variable[15] /*listnode5*/) /*IndexedCollection::append*/;
5565 }
5566 }
5567 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable[19] /*pclassdefnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[19] /*pclassdefnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[19] /*pclassdefnode6*/)( variable[19] /*pclassdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5568 if (UNTAG_Bool(variable[21])) { /*if*/
5569 CALL_abstract_collection___SimpleCollection___add( variable[12] /*listnode11*/)( variable[12] /*listnode11*/, variable[19] /*pclassdefnode6*/) /*AbstractArray::add*/;
5570 }
5571 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*pclassdefnode10*/ == NIT_NULL /*null*/) || (( variable[20] /*pclassdefnode10*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[20] /*pclassdefnode10*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*pclassdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[20] /*pclassdefnode10*/)( variable[20] /*pclassdefnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5572 if (UNTAG_Bool(variable[21])) { /*if*/
5573 CALL_abstract_collection___SimpleCollection___add( variable[12] /*listnode11*/)( variable[12] /*listnode11*/, variable[20] /*pclassdefnode10*/) /*AbstractArray::add*/;
5574 }
5575 variable[22] = NEW_AModule_parser_prod___AModule___init_amodule( variable[13] /*ppackagedeclnode2*/, variable[11] /*listnode4*/, variable[12] /*listnode11*/); /*new AModule*/
5576 variable[21] = variable[22];
5577 variable[3] = variable[21] /*pmodulenode1*/ /*node_list=*/;
5578 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5579 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
5580 return_label126: while(false);
5581 tracehead = trace.prev;
5582 return;
5583 }
5584 void parser___ReduceAction47___init(val_t self, int* init_table) {
5585 struct trace_t trace = {NULL, NULL, 2970, LOCATE_parser___ReduceAction47___init};
5586 val_t variable[2];
5587 void **closurevariable = NULL;
5588 trace.prev = tracehead; tracehead = &trace;
5589 trace.file = LOCATE_parser;
5590 variable[0] = self;
5591 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction47].i]) return;
5592 return_label127: while(false);
5593 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction47].i] = 1;
5594 tracehead = trace.prev;
5595 return;
5596 }
5597 void parser___ReduceAction48___action(val_t self, val_t param0) {
5598 struct trace_t trace = {NULL, NULL, 2974, LOCATE_parser___ReduceAction48___action};
5599 val_t variable[14];
5600 void **closurevariable = NULL;
5601 trace.prev = tracehead; tracehead = &trace;
5602 trace.file = LOCATE_parser;
5603 variable[0] = self;
5604 variable[1] = param0;
5605 variable[3] = NIT_NULL /*null*/;
5606 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5607 variable[4] = variable[5];
5608 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5609 variable[5] = variable[6];
5610 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5611 variable[6] = variable[7];
5612 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5613 variable[7] = variable[8];
5614 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5615 variable[8] = variable[9];
5616 variable[9] = variable[8] /*nodearraylist1*/;
5617 variable[10] = TAG_Bool(( variable[9] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
5618 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction48___action, LOCATE_parser, 2983); nit_exit(1);}
5619 variable[10] = variable[7] /*nodearraylist2*/;
5620 variable[11] = TAG_Bool(( variable[10] /*tkwpackagenode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwpackagenode3*/, COLOR_TKwpackage, ID_TKwpackage)) /*cast TKwpackage*/;
5621 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction48___action, LOCATE_parser, 2985); nit_exit(1);}
5622 variable[11] = variable[5] /*nodearraylist4*/;
5623 variable[12] = TAG_Bool(( variable[11] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
5624 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction48___action, LOCATE_parser, 2987); nit_exit(1);}
5625 variable[13] = NEW_APackagedecl_parser_prod___APackagedecl___init_apackagedecl( variable[9] /*pdocnode2*/, variable[10] /*tkwpackagenode3*/, variable[11] /*tidnode4*/); /*new APackagedecl*/
5626 variable[12] = variable[13];
5627 variable[3] = variable[12] /*ppackagedeclnode1*/ /*node_list=*/;
5628 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(1)) /*Parser::go_to*/;
5629 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
5630 return_label128: while(false);
5631 tracehead = trace.prev;
5632 return;
5633 }
5634 void parser___ReduceAction48___init(val_t self, int* init_table) {
5635 struct trace_t trace = {NULL, NULL, 2996, LOCATE_parser___ReduceAction48___init};
5636 val_t variable[2];
5637 void **closurevariable = NULL;
5638 trace.prev = tracehead; tracehead = &trace;
5639 trace.file = LOCATE_parser;
5640 variable[0] = self;
5641 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction48].i]) return;
5642 return_label129: while(false);
5643 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction48].i] = 1;
5644 tracehead = trace.prev;
5645 return;
5646 }
5647 void parser___ReduceAction49___action(val_t self, val_t param0) {
5648 struct trace_t trace = {NULL, NULL, 3000, LOCATE_parser___ReduceAction49___action};
5649 val_t variable[15];
5650 void **closurevariable = NULL;
5651 trace.prev = tracehead; tracehead = &trace;
5652 trace.file = LOCATE_parser;
5653 variable[0] = self;
5654 variable[1] = param0;
5655 variable[3] = NIT_NULL /*null*/;
5656 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5657 variable[4] = variable[5];
5658 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5659 variable[5] = variable[6];
5660 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5661 variable[6] = variable[7];
5662 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5663 variable[7] = variable[8];
5664 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5665 variable[8] = variable[9];
5666 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5667 variable[9] = variable[10];
5668 variable[10] = variable[8] /*nodearraylist2*/;
5669 variable[11] = TAG_Bool(( variable[10] /*pvisibilitynode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pvisibilitynode2*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
5670 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction49___action, LOCATE_parser, 3010); nit_exit(1);}
5671 variable[11] = variable[7] /*nodearraylist3*/;
5672 variable[12] = TAG_Bool(( variable[11] /*tkwimportnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwimportnode3*/, COLOR_TKwimport, ID_TKwimport)) /*cast TKwimport*/;
5673 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction49___action, LOCATE_parser, 3012); nit_exit(1);}
5674 variable[12] = variable[5] /*nodearraylist5*/;
5675 variable[13] = TAG_Bool(( variable[12] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
5676 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction49___action, LOCATE_parser, 3014); nit_exit(1);}
5677 variable[14] = NEW_AImport_parser_prod___AImport___init_aimport( variable[10] /*pvisibilitynode2*/, variable[11] /*tkwimportnode3*/, variable[12] /*tidnode4*/); /*new AImport*/
5678 variable[13] = variable[14];
5679 variable[3] = variable[13] /*pimportnode1*/ /*node_list=*/;
5680 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(2)) /*Parser::go_to*/;
5681 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
5682 return_label130: while(false);
5683 tracehead = trace.prev;
5684 return;
5685 }
5686 void parser___ReduceAction49___init(val_t self, int* init_table) {
5687 struct trace_t trace = {NULL, NULL, 3023, LOCATE_parser___ReduceAction49___init};
5688 val_t variable[2];
5689 void **closurevariable = NULL;
5690 trace.prev = tracehead; tracehead = &trace;
5691 trace.file = LOCATE_parser;
5692 variable[0] = self;
5693 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction49].i]) return;
5694 return_label131: while(false);
5695 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction49].i] = 1;
5696 tracehead = trace.prev;
5697 return;
5698 }
5699 void parser___ReduceAction50___action(val_t self, val_t param0) {
5700 struct trace_t trace = {NULL, NULL, 3027, LOCATE_parser___ReduceAction50___action};
5701 val_t variable[15];
5702 void **closurevariable = NULL;
5703 trace.prev = tracehead; tracehead = &trace;
5704 trace.file = LOCATE_parser;
5705 variable[0] = self;
5706 variable[1] = param0;
5707 variable[3] = NIT_NULL /*null*/;
5708 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5709 variable[4] = variable[5];
5710 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5711 variable[5] = variable[6];
5712 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5713 variable[6] = variable[7];
5714 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5715 variable[7] = variable[8];
5716 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5717 variable[8] = variable[9];
5718 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5719 variable[9] = variable[10];
5720 variable[10] = variable[8] /*nodearraylist2*/;
5721 variable[11] = TAG_Bool(( variable[10] /*pvisibilitynode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pvisibilitynode2*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
5722 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction50___action, LOCATE_parser, 3037); nit_exit(1);}
5723 variable[11] = variable[7] /*nodearraylist3*/;
5724 variable[12] = TAG_Bool(( variable[11] /*tkwimportnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwimportnode3*/, COLOR_TKwimport, ID_TKwimport)) /*cast TKwimport*/;
5725 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction50___action, LOCATE_parser, 3039); nit_exit(1);}
5726 variable[12] = variable[5] /*nodearraylist5*/;
5727 variable[13] = TAG_Bool(( variable[12] /*tkwendnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwendnode4*/, COLOR_TKwend, ID_TKwend)) /*cast TKwend*/;
5728 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction50___action, LOCATE_parser, 3041); nit_exit(1);}
5729 variable[14] = NEW_ANoImport_parser_prod___ANoImport___init_anoimport( variable[10] /*pvisibilitynode2*/, variable[11] /*tkwimportnode3*/, variable[12] /*tkwendnode4*/); /*new ANoImport*/
5730 variable[13] = variable[14];
5731 variable[3] = variable[13] /*pimportnode1*/ /*node_list=*/;
5732 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(2)) /*Parser::go_to*/;
5733 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
5734 return_label132: while(false);
5735 tracehead = trace.prev;
5736 return;
5737 }
5738 void parser___ReduceAction50___init(val_t self, int* init_table) {
5739 struct trace_t trace = {NULL, NULL, 3050, LOCATE_parser___ReduceAction50___init};
5740 val_t variable[2];
5741 void **closurevariable = NULL;
5742 trace.prev = tracehead; tracehead = &trace;
5743 trace.file = LOCATE_parser;
5744 variable[0] = self;
5745 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction50].i]) return;
5746 return_label133: while(false);
5747 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction50].i] = 1;
5748 tracehead = trace.prev;
5749 return;
5750 }
5751 void parser___ReduceAction51___action(val_t self, val_t param0) {
5752 struct trace_t trace = {NULL, NULL, 3054, LOCATE_parser___ReduceAction51___action};
5753 val_t variable[9];
5754 void **closurevariable = NULL;
5755 trace.prev = tracehead; tracehead = &trace;
5756 trace.file = LOCATE_parser;
5757 variable[0] = self;
5758 variable[1] = param0;
5759 variable[3] = NIT_NULL /*null*/;
5760 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5761 variable[4] = variable[5];
5762 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5763 variable[5] = variable[6];
5764 variable[6] = variable[4] /*nodearraylist1*/;
5765 variable[7] = TAG_Bool(( variable[6] /*ppropdefnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*ppropdefnode2*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5766 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction51___action, LOCATE_parser, 3060); nit_exit(1);}
5767 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*ppropdefnode2*/ == NIT_NULL /*null*/) || (( variable[6] /*ppropdefnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*ppropdefnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*ppropdefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*ppropdefnode2*/)( variable[6] /*ppropdefnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5768 if (UNTAG_Bool(variable[7])) { /*if*/
5769 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode3*/)( variable[5] /*listnode3*/, variable[6] /*ppropdefnode2*/) /*AbstractArray::add*/;
5770 }
5771 variable[8] = NEW_AMainClassdef_parser_prod___AMainClassdef___init_amainclassdef( variable[5] /*listnode3*/); /*new AMainClassdef*/
5772 variable[7] = variable[8];
5773 variable[3] = variable[7] /*pclassdefnode1*/ /*node_list=*/;
5774 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(3)) /*Parser::go_to*/;
5775 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
5776 return_label134: while(false);
5777 tracehead = trace.prev;
5778 return;
5779 }
5780 void parser___ReduceAction51___init(val_t self, int* init_table) {
5781 struct trace_t trace = {NULL, NULL, 3070, LOCATE_parser___ReduceAction51___init};
5782 val_t variable[2];
5783 void **closurevariable = NULL;
5784 trace.prev = tracehead; tracehead = &trace;
5785 trace.file = LOCATE_parser;
5786 variable[0] = self;
5787 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction51].i]) return;
5788 return_label135: while(false);
5789 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction51].i] = 1;
5790 tracehead = trace.prev;
5791 return;
5792 }
5793 void parser___ReduceAction52___action(val_t self, val_t param0) {
5794 struct trace_t trace = {NULL, NULL, 3074, LOCATE_parser___ReduceAction52___action};
5795 val_t variable[6];
5796 void **closurevariable = NULL;
5797 trace.prev = tracehead; tracehead = &trace;
5798 trace.file = LOCATE_parser;
5799 variable[0] = self;
5800 variable[1] = param0;
5801 variable[3] = NIT_NULL /*null*/;
5802 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5803 variable[4] = variable[5];
5804 variable[3] = NIT_NULL /*null*/ /*node_list=*/;
5805 variable[5] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(3)) /*Parser::go_to*/;
5806 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
5807 return_label136: while(false);
5808 tracehead = trace.prev;
5809 return;
5810 }
5811 void parser___ReduceAction52___init(val_t self, int* init_table) {
5812 struct trace_t trace = {NULL, NULL, 3081, LOCATE_parser___ReduceAction52___init};
5813 val_t variable[2];
5814 void **closurevariable = NULL;
5815 trace.prev = tracehead; tracehead = &trace;
5816 trace.file = LOCATE_parser;
5817 variable[0] = self;
5818 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction52].i]) return;
5819 return_label137: while(false);
5820 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction52].i] = 1;
5821 tracehead = trace.prev;
5822 return;
5823 }
5824 void parser___ReduceAction53___action(val_t self, val_t param0) {
5825 struct trace_t trace = {NULL, NULL, 3085, LOCATE_parser___ReduceAction53___action};
5826 val_t variable[12];
5827 void **closurevariable = NULL;
5828 trace.prev = tracehead; tracehead = &trace;
5829 trace.file = LOCATE_parser;
5830 variable[0] = self;
5831 variable[1] = param0;
5832 variable[3] = NIT_NULL /*null*/;
5833 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5834 variable[4] = variable[5];
5835 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5836 variable[5] = variable[6];
5837 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5838 variable[6] = variable[7];
5839 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5840 variable[7] = variable[8];
5841 variable[8] = variable[5] /*nodearraylist2*/;
5842 variable[9] = TAG_Bool(( variable[8] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
5843 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction53___action, LOCATE_parser, 3093); nit_exit(1);}
5844 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*pexprnode4*/ == NIT_NULL /*null*/) || (( variable[8] /*pexprnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*pexprnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*pexprnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*pexprnode4*/)( variable[8] /*pexprnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5845 if (UNTAG_Bool(variable[9])) { /*if*/
5846 CALL_abstract_collection___SimpleCollection___add( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[8] /*pexprnode4*/) /*AbstractArray::add*/;
5847 }
5848 variable[10] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[7] /*listnode5*/); /*new ABlockExpr*/
5849 variable[9] = variable[10];
5850 variable[11] = NEW_AMainMethPropdef_parser_prod___AMainMethPropdef___init_amainmethpropdef( NIT_NULL /*null*/, variable[9] /*pexprnode3*/); /*new AMainMethPropdef*/
5851 variable[10] = variable[11];
5852 variable[3] = variable[10] /*ppropdefnode1*/ /*node_list=*/;
5853 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(4)) /*Parser::go_to*/;
5854 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
5855 return_label138: while(false);
5856 tracehead = trace.prev;
5857 return;
5858 }
5859 void parser___ReduceAction53___init(val_t self, int* init_table) {
5860 struct trace_t trace = {NULL, NULL, 3107, LOCATE_parser___ReduceAction53___init};
5861 val_t variable[2];
5862 void **closurevariable = NULL;
5863 trace.prev = tracehead; tracehead = &trace;
5864 trace.file = LOCATE_parser;
5865 variable[0] = self;
5866 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction53].i]) return;
5867 return_label139: while(false);
5868 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction53].i] = 1;
5869 tracehead = trace.prev;
5870 return;
5871 }
5872 void parser___ReduceAction54___action(val_t self, val_t param0) {
5873 struct trace_t trace = {NULL, NULL, 3111, LOCATE_parser___ReduceAction54___action};
5874 val_t variable[14];
5875 void **closurevariable = NULL;
5876 trace.prev = tracehead; tracehead = &trace;
5877 trace.file = LOCATE_parser;
5878 variable[0] = self;
5879 variable[1] = param0;
5880 variable[3] = NIT_NULL /*null*/;
5881 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5882 variable[4] = variable[5];
5883 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5884 variable[5] = variable[6];
5885 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5886 variable[6] = variable[7];
5887 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5888 variable[7] = variable[8];
5889 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5890 variable[8] = variable[9];
5891 variable[9] = variable[6] /*nodearraylist2*/;
5892 variable[10] = TAG_Bool(( variable[9] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
5893 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction54___action, LOCATE_parser, 3120); nit_exit(1);}
5894 variable[10] = variable[5] /*nodearraylist3*/;
5895 variable[11] = TAG_Bool(( variable[10] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5896 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction54___action, LOCATE_parser, 3122); nit_exit(1);}
5897 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*pexprnode4*/ == NIT_NULL /*null*/) || (( variable[9] /*pexprnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[9] /*pexprnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*pexprnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[9] /*pexprnode4*/)( variable[9] /*pexprnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5898 if (UNTAG_Bool(variable[11])) { /*if*/
5899 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[9] /*pexprnode4*/) /*AbstractArray::add*/;
5900 }
5901 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode5*/)( variable[10] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5902 if (UNTAG_Bool(variable[11])) { /*if*/
5903 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode6*/)( variable[8] /*listnode6*/) /*AbstractArray::is_empty*/;
5904 if (UNTAG_Bool(variable[11])) { /*if*/
5905 variable[8] = variable[10] /*listnode5*/ /*listnode6=*/;
5906 } else { /*if*/
5907 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[10] /*listnode5*/) /*IndexedCollection::append*/;
5908 }
5909 }
5910 variable[12] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[8] /*listnode6*/); /*new ABlockExpr*/
5911 variable[11] = variable[12];
5912 variable[13] = NEW_AMainMethPropdef_parser_prod___AMainMethPropdef___init_amainmethpropdef( NIT_NULL /*null*/, variable[11] /*pexprnode3*/); /*new AMainMethPropdef*/
5913 variable[12] = variable[13];
5914 variable[3] = variable[12] /*ppropdefnode1*/ /*node_list=*/;
5915 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(4)) /*Parser::go_to*/;
5916 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
5917 return_label140: while(false);
5918 tracehead = trace.prev;
5919 return;
5920 }
5921 void parser___ReduceAction54___init(val_t self, int* init_table) {
5922 struct trace_t trace = {NULL, NULL, 3143, LOCATE_parser___ReduceAction54___init};
5923 val_t variable[2];
5924 void **closurevariable = NULL;
5925 trace.prev = tracehead; tracehead = &trace;
5926 trace.file = LOCATE_parser;
5927 variable[0] = self;
5928 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction54].i]) return;
5929 return_label141: while(false);
5930 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction54].i] = 1;
5931 tracehead = trace.prev;
5932 return;
5933 }
5934 void parser___ReduceAction55___action(val_t self, val_t param0) {
5935 struct trace_t trace = {NULL, NULL, 3147, LOCATE_parser___ReduceAction55___action};
5936 val_t variable[20];
5937 void **closurevariable = NULL;
5938 trace.prev = tracehead; tracehead = &trace;
5939 trace.file = LOCATE_parser;
5940 variable[0] = self;
5941 variable[1] = param0;
5942 variable[3] = NIT_NULL /*null*/;
5943 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5944 variable[4] = variable[5];
5945 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5946 variable[5] = variable[6];
5947 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5948 variable[6] = variable[7];
5949 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5950 variable[7] = variable[8];
5951 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5952 variable[8] = variable[9];
5953 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5954 variable[9] = variable[10];
5955 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5956 variable[10] = variable[11];
5957 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5958 variable[11] = variable[12];
5959 variable[13] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5960 variable[12] = variable[13];
5961 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5962 variable[13] = variable[14];
5963 variable[14] = variable[10] /*nodearraylist1*/;
5964 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
5965 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction55___action, LOCATE_parser, 3161); nit_exit(1);}
5966 variable[15] = variable[9] /*nodearraylist2*/;
5967 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
5968 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction55___action, LOCATE_parser, 3163); nit_exit(1);}
5969 variable[16] = variable[8] /*nodearraylist3*/;
5970 variable[17] = TAG_Bool(( variable[16] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
5971 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction55___action, LOCATE_parser, 3165); nit_exit(1);}
5972 variable[17] = variable[6] /*nodearraylist5*/;
5973 variable[18] = TAG_Bool(( variable[17] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
5974 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction55___action, LOCATE_parser, 3167); nit_exit(1);}
5975 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*/
5976 variable[18] = variable[19];
5977 variable[3] = variable[18] /*pclassdefnode1*/ /*node_list=*/;
5978 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
5979 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
5980 return_label142: while(false);
5981 tracehead = trace.prev;
5982 return;
5983 }
5984 void parser___ReduceAction55___init(val_t self, int* init_table) {
5985 struct trace_t trace = {NULL, NULL, 3181, LOCATE_parser___ReduceAction55___init};
5986 val_t variable[2];
5987 void **closurevariable = NULL;
5988 trace.prev = tracehead; tracehead = &trace;
5989 trace.file = LOCATE_parser;
5990 variable[0] = self;
5991 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction55].i]) return;
5992 return_label143: while(false);
5993 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction55].i] = 1;
5994 tracehead = trace.prev;
5995 return;
5996 }
5997 void parser___ReduceAction56___action(val_t self, val_t param0) {
5998 struct trace_t trace = {NULL, NULL, 3185, LOCATE_parser___ReduceAction56___action};
5999 val_t variable[22];
6000 void **closurevariable = NULL;
6001 trace.prev = tracehead; tracehead = &trace;
6002 trace.file = LOCATE_parser;
6003 variable[0] = self;
6004 variable[1] = param0;
6005 variable[3] = NIT_NULL /*null*/;
6006 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6007 variable[4] = variable[5];
6008 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6009 variable[5] = variable[6];
6010 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6011 variable[6] = variable[7];
6012 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6013 variable[7] = variable[8];
6014 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6015 variable[8] = variable[9];
6016 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6017 variable[9] = variable[10];
6018 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6019 variable[10] = variable[11];
6020 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6021 variable[11] = variable[12];
6022 variable[13] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6023 variable[12] = variable[13];
6024 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6025 variable[13] = variable[14];
6026 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6027 variable[14] = variable[15];
6028 variable[15] = variable[11] /*nodearraylist1*/;
6029 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6030 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction56___action, LOCATE_parser, 3200); nit_exit(1);}
6031 variable[16] = variable[10] /*nodearraylist2*/;
6032 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
6033 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction56___action, LOCATE_parser, 3202); nit_exit(1);}
6034 variable[17] = variable[9] /*nodearraylist3*/;
6035 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6036 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction56___action, LOCATE_parser, 3204); nit_exit(1);}
6037 variable[18] = variable[8] /*nodearraylist4*/;
6038 variable[19] = TAG_Bool(( variable[18] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6039 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction56___action, LOCATE_parser, 3206); nit_exit(1);}
6040 variable[19] = variable[6] /*nodearraylist6*/;
6041 variable[20] = TAG_Bool(( variable[19] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[19] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6042 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction56___action, LOCATE_parser, 3208); nit_exit(1);}
6043 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*/
6044 variable[20] = variable[21];
6045 variable[3] = variable[20] /*pclassdefnode1*/ /*node_list=*/;
6046 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6047 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
6048 return_label144: while(false);
6049 tracehead = trace.prev;
6050 return;
6051 }
6052 void parser___ReduceAction56___init(val_t self, int* init_table) {
6053 struct trace_t trace = {NULL, NULL, 3222, LOCATE_parser___ReduceAction56___init};
6054 val_t variable[2];
6055 void **closurevariable = NULL;
6056 trace.prev = tracehead; tracehead = &trace;
6057 trace.file = LOCATE_parser;
6058 variable[0] = self;
6059 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction56].i]) return;
6060 return_label145: while(false);
6061 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction56].i] = 1;
6062 tracehead = trace.prev;
6063 return;
6064 }
6065 void parser___ReduceAction57___action(val_t self, val_t param0) {
6066 struct trace_t trace = {NULL, NULL, 3226, LOCATE_parser___ReduceAction57___action};
6067 val_t variable[22];
6068 void **closurevariable = NULL;
6069 trace.prev = tracehead; tracehead = &trace;
6070 trace.file = LOCATE_parser;
6071 variable[0] = self;
6072 variable[1] = param0;
6073 variable[3] = NIT_NULL /*null*/;
6074 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6075 variable[4] = variable[5];
6076 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6077 variable[5] = variable[6];
6078 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6079 variable[6] = variable[7];
6080 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6081 variable[7] = variable[8];
6082 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6083 variable[8] = variable[9];
6084 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6085 variable[9] = variable[10];
6086 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6087 variable[10] = variable[11];
6088 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6089 variable[11] = variable[12];
6090 variable[13] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6091 variable[12] = variable[13];
6092 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6093 variable[13] = variable[14];
6094 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6095 variable[14] = variable[15];
6096 variable[15] = variable[11] /*nodearraylist1*/;
6097 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6098 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction57___action, LOCATE_parser, 3241); nit_exit(1);}
6099 variable[16] = variable[10] /*nodearraylist2*/;
6100 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6101 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction57___action, LOCATE_parser, 3243); nit_exit(1);}
6102 variable[17] = variable[9] /*nodearraylist3*/;
6103 variable[18] = TAG_Bool(( variable[17] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6104 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction57___action, LOCATE_parser, 3245); nit_exit(1);}
6105 variable[18] = variable[7] /*nodearraylist5*/;
6106 variable[19] = TAG_Bool(( variable[18] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6107 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction57___action, LOCATE_parser, 3247); nit_exit(1);}
6108 variable[19] = variable[6] /*nodearraylist6*/;
6109 variable[20] = TAG_Bool(( variable[19] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6110 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction57___action, LOCATE_parser, 3249); nit_exit(1);}
6111 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[19] /*listnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[19] /*listnode7*/)( variable[19] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6112 if (UNTAG_Bool(variable[20])) { /*if*/
6113 variable[20] = CALL_abstract_collection___Collection___is_empty( variable[12] /*listnode8*/)( variable[12] /*listnode8*/) /*AbstractArray::is_empty*/;
6114 if (UNTAG_Bool(variable[20])) { /*if*/
6115 variable[12] = variable[19] /*listnode7*/ /*listnode8=*/;
6116 } else { /*if*/
6117 CALL_abstract_collection___IndexedCollection___append( variable[12] /*listnode8*/)( variable[12] /*listnode8*/, variable[19] /*listnode7*/) /*IndexedCollection::append*/;
6118 }
6119 }
6120 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*/
6121 variable[20] = variable[21];
6122 variable[3] = variable[20] /*pclassdefnode1*/ /*node_list=*/;
6123 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6124 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
6125 return_label146: while(false);
6126 tracehead = trace.prev;
6127 return;
6128 }
6129 void parser___ReduceAction57___init(val_t self, int* init_table) {
6130 struct trace_t trace = {NULL, NULL, 3270, LOCATE_parser___ReduceAction57___init};
6131 val_t variable[2];
6132 void **closurevariable = NULL;
6133 trace.prev = tracehead; tracehead = &trace;
6134 trace.file = LOCATE_parser;
6135 variable[0] = self;
6136 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction57].i]) return;
6137 return_label147: while(false);
6138 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction57].i] = 1;
6139 tracehead = trace.prev;
6140 return;
6141 }
6142 void parser___ReduceAction58___action(val_t self, val_t param0) {
6143 struct trace_t trace = {NULL, NULL, 3274, LOCATE_parser___ReduceAction58___action};
6144 val_t variable[24];
6145 void **closurevariable = NULL;
6146 trace.prev = tracehead; tracehead = &trace;
6147 trace.file = LOCATE_parser;
6148 variable[0] = self;
6149 variable[1] = param0;
6150 variable[3] = NIT_NULL /*null*/;
6151 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6152 variable[4] = variable[5];
6153 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6154 variable[5] = variable[6];
6155 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6156 variable[6] = variable[7];
6157 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6158 variable[7] = variable[8];
6159 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6160 variable[8] = variable[9];
6161 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6162 variable[9] = variable[10];
6163 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6164 variable[10] = variable[11];
6165 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6166 variable[11] = variable[12];
6167 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6168 variable[12] = variable[13];
6169 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6170 variable[13] = variable[14];
6171 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6172 variable[14] = variable[15];
6173 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6174 variable[15] = variable[16];
6175 variable[16] = variable[12] /*nodearraylist1*/;
6176 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6177 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction58___action, LOCATE_parser, 3290); nit_exit(1);}
6178 variable[17] = variable[11] /*nodearraylist2*/;
6179 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
6180 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction58___action, LOCATE_parser, 3292); nit_exit(1);}
6181 variable[18] = variable[10] /*nodearraylist3*/;
6182 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6183 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction58___action, LOCATE_parser, 3294); nit_exit(1);}
6184 variable[19] = variable[9] /*nodearraylist4*/;
6185 variable[20] = TAG_Bool(( variable[19] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[19] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6186 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction58___action, LOCATE_parser, 3296); nit_exit(1);}
6187 variable[20] = variable[7] /*nodearraylist6*/;
6188 variable[21] = TAG_Bool(( variable[20] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[20] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6189 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction58___action, LOCATE_parser, 3298); nit_exit(1);}
6190 variable[21] = variable[6] /*nodearraylist7*/;
6191 variable[22] = TAG_Bool(( variable[21] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6192 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction58___action, LOCATE_parser, 3300); nit_exit(1);}
6193 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[21] /*listnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[21] /*listnode7*/)( variable[21] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6194 if (UNTAG_Bool(variable[22])) { /*if*/
6195 variable[22] = CALL_abstract_collection___Collection___is_empty( variable[13] /*listnode8*/)( variable[13] /*listnode8*/) /*AbstractArray::is_empty*/;
6196 if (UNTAG_Bool(variable[22])) { /*if*/
6197 variable[13] = variable[21] /*listnode7*/ /*listnode8=*/;
6198 } else { /*if*/
6199 CALL_abstract_collection___IndexedCollection___append( variable[13] /*listnode8*/)( variable[13] /*listnode8*/, variable[21] /*listnode7*/) /*IndexedCollection::append*/;
6200 }
6201 }
6202 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*/
6203 variable[22] = variable[23];
6204 variable[3] = variable[22] /*pclassdefnode1*/ /*node_list=*/;
6205 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6206 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
6207 return_label148: while(false);
6208 tracehead = trace.prev;
6209 return;
6210 }
6211 void parser___ReduceAction58___init(val_t self, int* init_table) {
6212 struct trace_t trace = {NULL, NULL, 3321, LOCATE_parser___ReduceAction58___init};
6213 val_t variable[2];
6214 void **closurevariable = NULL;
6215 trace.prev = tracehead; tracehead = &trace;
6216 trace.file = LOCATE_parser;
6217 variable[0] = self;
6218 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction58].i]) return;
6219 return_label149: while(false);
6220 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction58].i] = 1;
6221 tracehead = trace.prev;
6222 return;
6223 }
6224 void parser___ReduceAction59___action(val_t self, val_t param0) {
6225 struct trace_t trace = {NULL, NULL, 3325, LOCATE_parser___ReduceAction59___action};
6226 val_t variable[22];
6227 void **closurevariable = NULL;
6228 trace.prev = tracehead; tracehead = &trace;
6229 trace.file = LOCATE_parser;
6230 variable[0] = self;
6231 variable[1] = param0;
6232 variable[3] = NIT_NULL /*null*/;
6233 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6234 variable[4] = variable[5];
6235 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6236 variable[5] = variable[6];
6237 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6238 variable[6] = variable[7];
6239 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6240 variable[7] = variable[8];
6241 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6242 variable[8] = variable[9];
6243 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6244 variable[9] = variable[10];
6245 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6246 variable[10] = variable[11];
6247 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6248 variable[11] = variable[12];
6249 variable[13] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6250 variable[12] = variable[13];
6251 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6252 variable[13] = variable[14];
6253 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6254 variable[14] = variable[15];
6255 variable[15] = variable[11] /*nodearraylist1*/;
6256 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6257 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction59___action, LOCATE_parser, 3340); nit_exit(1);}
6258 variable[16] = variable[10] /*nodearraylist2*/;
6259 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6260 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction59___action, LOCATE_parser, 3342); nit_exit(1);}
6261 variable[17] = variable[9] /*nodearraylist3*/;
6262 variable[18] = TAG_Bool(( variable[17] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6263 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction59___action, LOCATE_parser, 3344); nit_exit(1);}
6264 variable[18] = variable[7] /*nodearraylist5*/;
6265 variable[19] = TAG_Bool(( variable[18] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6266 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction59___action, LOCATE_parser, 3346); nit_exit(1);}
6267 variable[19] = variable[6] /*nodearraylist6*/;
6268 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6269 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction59___action, LOCATE_parser, 3348); nit_exit(1);}
6270 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode8*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[19] /*listnode8*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[19] /*listnode8*/)( variable[19] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6271 if (UNTAG_Bool(variable[20])) { /*if*/
6272 variable[20] = CALL_abstract_collection___Collection___is_empty( variable[13] /*listnode9*/)( variable[13] /*listnode9*/) /*AbstractArray::is_empty*/;
6273 if (UNTAG_Bool(variable[20])) { /*if*/
6274 variable[13] = variable[19] /*listnode8*/ /*listnode9=*/;
6275 } else { /*if*/
6276 CALL_abstract_collection___IndexedCollection___append( variable[13] /*listnode9*/)( variable[13] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
6277 }
6278 }
6279 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*/
6280 variable[20] = variable[21];
6281 variable[3] = variable[20] /*pclassdefnode1*/ /*node_list=*/;
6282 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6283 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
6284 return_label150: while(false);
6285 tracehead = trace.prev;
6286 return;
6287 }
6288 void parser___ReduceAction59___init(val_t self, int* init_table) {
6289 struct trace_t trace = {NULL, NULL, 3369, LOCATE_parser___ReduceAction59___init};
6290 val_t variable[2];
6291 void **closurevariable = NULL;
6292 trace.prev = tracehead; tracehead = &trace;
6293 trace.file = LOCATE_parser;
6294 variable[0] = self;
6295 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction59].i]) return;
6296 return_label151: while(false);
6297 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction59].i] = 1;
6298 tracehead = trace.prev;
6299 return;
6300 }
6301 void parser___ReduceAction60___action(val_t self, val_t param0) {
6302 struct trace_t trace = {NULL, NULL, 3373, LOCATE_parser___ReduceAction60___action};
6303 val_t variable[24];
6304 void **closurevariable = NULL;
6305 trace.prev = tracehead; tracehead = &trace;
6306 trace.file = LOCATE_parser;
6307 variable[0] = self;
6308 variable[1] = param0;
6309 variable[3] = NIT_NULL /*null*/;
6310 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6311 variable[4] = variable[5];
6312 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6313 variable[5] = variable[6];
6314 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6315 variable[6] = variable[7];
6316 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6317 variable[7] = variable[8];
6318 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6319 variable[8] = variable[9];
6320 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6321 variable[9] = variable[10];
6322 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6323 variable[10] = variable[11];
6324 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6325 variable[11] = variable[12];
6326 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6327 variable[12] = variable[13];
6328 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6329 variable[13] = variable[14];
6330 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6331 variable[14] = variable[15];
6332 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6333 variable[15] = variable[16];
6334 variable[16] = variable[12] /*nodearraylist1*/;
6335 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6336 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction60___action, LOCATE_parser, 3389); nit_exit(1);}
6337 variable[17] = variable[11] /*nodearraylist2*/;
6338 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
6339 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction60___action, LOCATE_parser, 3391); nit_exit(1);}
6340 variable[18] = variable[10] /*nodearraylist3*/;
6341 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6342 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction60___action, LOCATE_parser, 3393); nit_exit(1);}
6343 variable[19] = variable[9] /*nodearraylist4*/;
6344 variable[20] = TAG_Bool(( variable[19] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[19] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6345 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction60___action, LOCATE_parser, 3395); nit_exit(1);}
6346 variable[20] = variable[7] /*nodearraylist6*/;
6347 variable[21] = TAG_Bool(( variable[20] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[20] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6348 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction60___action, LOCATE_parser, 3397); nit_exit(1);}
6349 variable[21] = variable[6] /*nodearraylist7*/;
6350 variable[22] = TAG_Bool(( variable[21] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6351 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction60___action, LOCATE_parser, 3399); nit_exit(1);}
6352 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode8*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[21] /*listnode8*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[21] /*listnode8*/)( variable[21] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6353 if (UNTAG_Bool(variable[22])) { /*if*/
6354 variable[22] = CALL_abstract_collection___Collection___is_empty( variable[14] /*listnode9*/)( variable[14] /*listnode9*/) /*AbstractArray::is_empty*/;
6355 if (UNTAG_Bool(variable[22])) { /*if*/
6356 variable[14] = variable[21] /*listnode8*/ /*listnode9=*/;
6357 } else { /*if*/
6358 CALL_abstract_collection___IndexedCollection___append( variable[14] /*listnode9*/)( variable[14] /*listnode9*/, variable[21] /*listnode8*/) /*IndexedCollection::append*/;
6359 }
6360 }
6361 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*/
6362 variable[22] = variable[23];
6363 variable[3] = variable[22] /*pclassdefnode1*/ /*node_list=*/;
6364 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6365 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
6366 return_label152: while(false);
6367 tracehead = trace.prev;
6368 return;
6369 }
6370 void parser___ReduceAction60___init(val_t self, int* init_table) {
6371 struct trace_t trace = {NULL, NULL, 3420, LOCATE_parser___ReduceAction60___init};
6372 val_t variable[2];
6373 void **closurevariable = NULL;
6374 trace.prev = tracehead; tracehead = &trace;
6375 trace.file = LOCATE_parser;
6376 variable[0] = self;
6377 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction60].i]) return;
6378 return_label153: while(false);
6379 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction60].i] = 1;
6380 tracehead = trace.prev;
6381 return;
6382 }
6383 void parser___ReduceAction61___action(val_t self, val_t param0) {
6384 struct trace_t trace = {NULL, NULL, 3424, LOCATE_parser___ReduceAction61___action};
6385 val_t variable[24];
6386 void **closurevariable = NULL;
6387 trace.prev = tracehead; tracehead = &trace;
6388 trace.file = LOCATE_parser;
6389 variable[0] = self;
6390 variable[1] = param0;
6391 variable[3] = NIT_NULL /*null*/;
6392 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6393 variable[4] = variable[5];
6394 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6395 variable[5] = variable[6];
6396 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6397 variable[6] = variable[7];
6398 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6399 variable[7] = variable[8];
6400 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6401 variable[8] = variable[9];
6402 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6403 variable[9] = variable[10];
6404 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6405 variable[10] = variable[11];
6406 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6407 variable[11] = variable[12];
6408 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6409 variable[12] = variable[13];
6410 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6411 variable[13] = variable[14];
6412 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6413 variable[14] = variable[15];
6414 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6415 variable[15] = variable[16];
6416 variable[16] = variable[12] /*nodearraylist1*/;
6417 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6418 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction61___action, LOCATE_parser, 3440); nit_exit(1);}
6419 variable[17] = variable[11] /*nodearraylist2*/;
6420 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6421 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction61___action, LOCATE_parser, 3442); nit_exit(1);}
6422 variable[18] = variable[10] /*nodearraylist3*/;
6423 variable[19] = TAG_Bool(( variable[18] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6424 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction61___action, LOCATE_parser, 3444); nit_exit(1);}
6425 variable[19] = variable[8] /*nodearraylist5*/;
6426 variable[20] = TAG_Bool(( variable[19] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[19] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6427 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction61___action, LOCATE_parser, 3446); nit_exit(1);}
6428 variable[20] = variable[7] /*nodearraylist6*/;
6429 variable[21] = TAG_Bool(( variable[20] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6430 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction61___action, LOCATE_parser, 3448); nit_exit(1);}
6431 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[20] /*listnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[20] /*listnode7*/)( variable[20] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6432 if (UNTAG_Bool(variable[21])) { /*if*/
6433 variable[21] = CALL_abstract_collection___Collection___is_empty( variable[13] /*listnode8*/)( variable[13] /*listnode8*/) /*AbstractArray::is_empty*/;
6434 if (UNTAG_Bool(variable[21])) { /*if*/
6435 variable[13] = variable[20] /*listnode7*/ /*listnode8=*/;
6436 } else { /*if*/
6437 CALL_abstract_collection___IndexedCollection___append( variable[13] /*listnode8*/)( variable[13] /*listnode8*/, variable[20] /*listnode7*/) /*IndexedCollection::append*/;
6438 }
6439 }
6440 variable[21] = variable[6] /*nodearraylist7*/;
6441 variable[22] = TAG_Bool(( variable[21] /*listnode9*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6442 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction61___action, LOCATE_parser, 3457); nit_exit(1);}
6443 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode9*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode9*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[21] /*listnode9*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[21] /*listnode9*/)( variable[21] /*listnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6444 if (UNTAG_Bool(variable[22])) { /*if*/
6445 variable[22] = CALL_abstract_collection___Collection___is_empty( variable[14] /*listnode10*/)( variable[14] /*listnode10*/) /*AbstractArray::is_empty*/;
6446 if (UNTAG_Bool(variable[22])) { /*if*/
6447 variable[14] = variable[21] /*listnode9*/ /*listnode10=*/;
6448 } else { /*if*/
6449 CALL_abstract_collection___IndexedCollection___append( variable[14] /*listnode10*/)( variable[14] /*listnode10*/, variable[21] /*listnode9*/) /*IndexedCollection::append*/;
6450 }
6451 }
6452 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*/
6453 variable[22] = variable[23];
6454 variable[3] = variable[22] /*pclassdefnode1*/ /*node_list=*/;
6455 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6456 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
6457 return_label154: while(false);
6458 tracehead = trace.prev;
6459 return;
6460 }
6461 void parser___ReduceAction61___init(val_t self, int* init_table) {
6462 struct trace_t trace = {NULL, NULL, 3478, LOCATE_parser___ReduceAction61___init};
6463 val_t variable[2];
6464 void **closurevariable = NULL;
6465 trace.prev = tracehead; tracehead = &trace;
6466 trace.file = LOCATE_parser;
6467 variable[0] = self;
6468 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction61].i]) return;
6469 return_label155: while(false);
6470 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction61].i] = 1;
6471 tracehead = trace.prev;
6472 return;
6473 }
6474 void parser___ReduceAction62___action(val_t self, val_t param0) {
6475 struct trace_t trace = {NULL, NULL, 3482, LOCATE_parser___ReduceAction62___action};
6476 val_t variable[26];
6477 void **closurevariable = NULL;
6478 trace.prev = tracehead; tracehead = &trace;
6479 trace.file = LOCATE_parser;
6480 variable[0] = self;
6481 variable[1] = param0;
6482 variable[3] = NIT_NULL /*null*/;
6483 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6484 variable[4] = variable[5];
6485 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6486 variable[5] = variable[6];
6487 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6488 variable[6] = variable[7];
6489 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6490 variable[7] = variable[8];
6491 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6492 variable[8] = variable[9];
6493 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6494 variable[9] = variable[10];
6495 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6496 variable[10] = variable[11];
6497 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6498 variable[11] = variable[12];
6499 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6500 variable[12] = variable[13];
6501 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6502 variable[13] = variable[14];
6503 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6504 variable[14] = variable[15];
6505 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6506 variable[15] = variable[16];
6507 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6508 variable[16] = variable[17];
6509 variable[17] = variable[13] /*nodearraylist1*/;
6510 variable[18] = TAG_Bool(( variable[17] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[17] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6511 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3499); nit_exit(1);}
6512 variable[18] = variable[12] /*nodearraylist2*/;
6513 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
6514 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3501); nit_exit(1);}
6515 variable[19] = variable[11] /*nodearraylist3*/;
6516 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6517 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3503); nit_exit(1);}
6518 variable[20] = variable[10] /*nodearraylist4*/;
6519 variable[21] = TAG_Bool(( variable[20] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[20] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6520 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3505); nit_exit(1);}
6521 variable[21] = variable[8] /*nodearraylist6*/;
6522 variable[22] = TAG_Bool(( variable[21] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[21] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6523 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3507); nit_exit(1);}
6524 variable[22] = variable[7] /*nodearraylist7*/;
6525 variable[23] = TAG_Bool(( variable[22] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6526 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3509); nit_exit(1);}
6527 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[22] /*listnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[22] /*listnode7*/)( variable[22] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6528 if (UNTAG_Bool(variable[23])) { /*if*/
6529 variable[23] = CALL_abstract_collection___Collection___is_empty( variable[14] /*listnode8*/)( variable[14] /*listnode8*/) /*AbstractArray::is_empty*/;
6530 if (UNTAG_Bool(variable[23])) { /*if*/
6531 variable[14] = variable[22] /*listnode7*/ /*listnode8=*/;
6532 } else { /*if*/
6533 CALL_abstract_collection___IndexedCollection___append( variable[14] /*listnode8*/)( variable[14] /*listnode8*/, variable[22] /*listnode7*/) /*IndexedCollection::append*/;
6534 }
6535 }
6536 variable[23] = variable[6] /*nodearraylist8*/;
6537 variable[24] = TAG_Bool(( variable[23] /*listnode9*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6538 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3518); nit_exit(1);}
6539 variable[24] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*listnode9*/ == NIT_NULL /*null*/) || (( variable[23] /*listnode9*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[23] /*listnode9*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*listnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[23] /*listnode9*/)( variable[23] /*listnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6540 if (UNTAG_Bool(variable[24])) { /*if*/
6541 variable[24] = CALL_abstract_collection___Collection___is_empty( variable[15] /*listnode10*/)( variable[15] /*listnode10*/) /*AbstractArray::is_empty*/;
6542 if (UNTAG_Bool(variable[24])) { /*if*/
6543 variable[15] = variable[23] /*listnode9*/ /*listnode10=*/;
6544 } else { /*if*/
6545 CALL_abstract_collection___IndexedCollection___append( variable[15] /*listnode10*/)( variable[15] /*listnode10*/, variable[23] /*listnode9*/) /*IndexedCollection::append*/;
6546 }
6547 }
6548 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*/
6549 variable[24] = variable[25];
6550 variable[3] = variable[24] /*pclassdefnode1*/ /*node_list=*/;
6551 variable[25] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6552 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
6553 return_label156: while(false);
6554 tracehead = trace.prev;
6555 return;
6556 }
6557 void parser___ReduceAction62___init(val_t self, int* init_table) {
6558 struct trace_t trace = {NULL, NULL, 3539, LOCATE_parser___ReduceAction62___init};
6559 val_t variable[2];
6560 void **closurevariable = NULL;
6561 trace.prev = tracehead; tracehead = &trace;
6562 trace.file = LOCATE_parser;
6563 variable[0] = self;
6564 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction62].i]) return;
6565 return_label157: while(false);
6566 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction62].i] = 1;
6567 tracehead = trace.prev;
6568 return;
6569 }
6570 void parser___ReduceAction63___action(val_t self, val_t param0) {
6571 struct trace_t trace = {NULL, NULL, 3543, LOCATE_parser___ReduceAction63___action};
6572 val_t variable[23];
6573 void **closurevariable = NULL;
6574 trace.prev = tracehead; tracehead = &trace;
6575 trace.file = LOCATE_parser;
6576 variable[0] = self;
6577 variable[1] = param0;
6578 variable[3] = NIT_NULL /*null*/;
6579 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6580 variable[4] = variable[5];
6581 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6582 variable[5] = variable[6];
6583 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6584 variable[6] = variable[7];
6585 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6586 variable[7] = variable[8];
6587 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6588 variable[8] = variable[9];
6589 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6590 variable[9] = variable[10];
6591 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6592 variable[10] = variable[11];
6593 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6594 variable[11] = variable[12];
6595 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6596 variable[12] = variable[13];
6597 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6598 variable[13] = variable[14];
6599 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6600 variable[14] = variable[15];
6601 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6602 variable[15] = variable[16];
6603 variable[16] = variable[12] /*nodearraylist1*/;
6604 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6605 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction63___action, LOCATE_parser, 3559); nit_exit(1);}
6606 variable[17] = variable[11] /*nodearraylist2*/;
6607 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6608 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction63___action, LOCATE_parser, 3561); nit_exit(1);}
6609 variable[18] = variable[10] /*nodearraylist3*/;
6610 variable[19] = TAG_Bool(( variable[18] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6611 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction63___action, LOCATE_parser, 3563); nit_exit(1);}
6612 variable[19] = variable[8] /*nodearraylist5*/;
6613 variable[20] = TAG_Bool(( variable[19] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[19] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6614 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction63___action, LOCATE_parser, 3565); nit_exit(1);}
6615 variable[20] = variable[7] /*nodearraylist6*/;
6616 variable[21] = TAG_Bool(( variable[20] /*ppropdefnode9*/==NIT_NULL) || VAL_ISA( variable[20] /*ppropdefnode9*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
6617 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction63___action, LOCATE_parser, 3567); nit_exit(1);}
6618 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*ppropdefnode9*/ == NIT_NULL /*null*/) || (( variable[20] /*ppropdefnode9*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[20] /*ppropdefnode9*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*ppropdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[20] /*ppropdefnode9*/)( variable[20] /*ppropdefnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6619 if (UNTAG_Bool(variable[21])) { /*if*/
6620 CALL_abstract_collection___SimpleCollection___add( variable[15] /*listnode10*/)( variable[15] /*listnode10*/, variable[20] /*ppropdefnode9*/) /*AbstractArray::add*/;
6621 }
6622 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*/
6623 variable[21] = variable[22];
6624 variable[3] = variable[21] /*pclassdefnode1*/ /*node_list=*/;
6625 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6626 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
6627 return_label158: while(false);
6628 tracehead = trace.prev;
6629 return;
6630 }
6631 void parser___ReduceAction63___init(val_t self, int* init_table) {
6632 struct trace_t trace = {NULL, NULL, 3584, LOCATE_parser___ReduceAction63___init};
6633 val_t variable[2];
6634 void **closurevariable = NULL;
6635 trace.prev = tracehead; tracehead = &trace;
6636 trace.file = LOCATE_parser;
6637 variable[0] = self;
6638 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction63].i]) return;
6639 return_label159: while(false);
6640 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction63].i] = 1;
6641 tracehead = trace.prev;
6642 return;
6643 }
6644 void parser___ReduceAction64___action(val_t self, val_t param0) {
6645 struct trace_t trace = {NULL, NULL, 3588, LOCATE_parser___ReduceAction64___action};
6646 val_t variable[25];
6647 void **closurevariable = NULL;
6648 trace.prev = tracehead; tracehead = &trace;
6649 trace.file = LOCATE_parser;
6650 variable[0] = self;
6651 variable[1] = param0;
6652 variable[3] = NIT_NULL /*null*/;
6653 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6654 variable[4] = variable[5];
6655 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6656 variable[5] = variable[6];
6657 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6658 variable[6] = variable[7];
6659 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6660 variable[7] = variable[8];
6661 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6662 variable[8] = variable[9];
6663 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6664 variable[9] = variable[10];
6665 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6666 variable[10] = variable[11];
6667 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6668 variable[11] = variable[12];
6669 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6670 variable[12] = variable[13];
6671 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6672 variable[13] = variable[14];
6673 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6674 variable[14] = variable[15];
6675 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6676 variable[15] = variable[16];
6677 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6678 variable[16] = variable[17];
6679 variable[17] = variable[13] /*nodearraylist1*/;
6680 variable[18] = TAG_Bool(( variable[17] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[17] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6681 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction64___action, LOCATE_parser, 3605); nit_exit(1);}
6682 variable[18] = variable[12] /*nodearraylist2*/;
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___ReduceAction64___action, LOCATE_parser, 3607); nit_exit(1);}
6685 variable[19] = variable[11] /*nodearraylist3*/;
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___ReduceAction64___action, LOCATE_parser, 3609); nit_exit(1);}
6688 variable[20] = variable[9] /*nodearraylist5*/;
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___ReduceAction64___action, LOCATE_parser, 3611); nit_exit(1);}
6691 variable[21] = variable[8] /*nodearraylist6*/;
6692 variable[22] = TAG_Bool(( variable[21] /*ppropdefnode9*/==NIT_NULL) || VAL_ISA( variable[21] /*ppropdefnode9*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
6693 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction64___action, LOCATE_parser, 3613); nit_exit(1);}
6694 variable[22] = variable[6] /*nodearraylist8*/;
6695 variable[23] = TAG_Bool(( variable[22] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6696 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction64___action, LOCATE_parser, 3615); nit_exit(1);}
6697 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*ppropdefnode9*/ == NIT_NULL /*null*/) || (( variable[21] /*ppropdefnode9*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[21] /*ppropdefnode9*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*ppropdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[21] /*ppropdefnode9*/)( variable[21] /*ppropdefnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6698 if (UNTAG_Bool(variable[23])) { /*if*/
6699 CALL_abstract_collection___SimpleCollection___add( variable[16] /*listnode11*/)( variable[16] /*listnode11*/, variable[21] /*ppropdefnode9*/) /*AbstractArray::add*/;
6700 }
6701 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode10*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[22] /*listnode10*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[22] /*listnode10*/)( variable[22] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6702 if (UNTAG_Bool(variable[23])) { /*if*/
6703 variable[23] = CALL_abstract_collection___Collection___is_empty( variable[16] /*listnode11*/)( variable[16] /*listnode11*/) /*AbstractArray::is_empty*/;
6704 if (UNTAG_Bool(variable[23])) { /*if*/
6705 variable[16] = variable[22] /*listnode10*/ /*listnode11=*/;
6706 } else { /*if*/
6707 CALL_abstract_collection___IndexedCollection___append( variable[16] /*listnode11*/)( variable[16] /*listnode11*/, variable[22] /*listnode10*/) /*IndexedCollection::append*/;
6708 }
6709 }
6710 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*/
6711 variable[23] = variable[24];
6712 variable[3] = variable[23] /*pclassdefnode1*/ /*node_list=*/;
6713 variable[24] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6714 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
6715 return_label160: while(false);
6716 tracehead = trace.prev;
6717 return;
6718 }
6719 void parser___ReduceAction64___init(val_t self, int* init_table) {
6720 struct trace_t trace = {NULL, NULL, 3639, LOCATE_parser___ReduceAction64___init};
6721 val_t variable[2];
6722 void **closurevariable = NULL;
6723 trace.prev = tracehead; tracehead = &trace;
6724 trace.file = LOCATE_parser;
6725 variable[0] = self;
6726 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction64].i]) return;
6727 return_label161: while(false);
6728 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction64].i] = 1;
6729 tracehead = trace.prev;
6730 return;
6731 }
6732 void parser___ReduceAction65___action(val_t self, val_t param0) {
6733 struct trace_t trace = {NULL, NULL, 3643, LOCATE_parser___ReduceAction65___action};
6734 val_t variable[25];
6735 void **closurevariable = NULL;
6736 trace.prev = tracehead; tracehead = &trace;
6737 trace.file = LOCATE_parser;
6738 variable[0] = self;
6739 variable[1] = param0;
6740 variable[3] = NIT_NULL /*null*/;
6741 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6742 variable[4] = variable[5];
6743 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6744 variable[5] = variable[6];
6745 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6746 variable[6] = variable[7];
6747 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6748 variable[7] = variable[8];
6749 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6750 variable[8] = variable[9];
6751 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6752 variable[9] = variable[10];
6753 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6754 variable[10] = variable[11];
6755 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6756 variable[11] = variable[12];
6757 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6758 variable[12] = variable[13];
6759 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6760 variable[13] = variable[14];
6761 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6762 variable[14] = variable[15];
6763 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6764 variable[15] = variable[16];
6765 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6766 variable[16] = variable[17];
6767 variable[17] = variable[13] /*nodearraylist1*/;
6768 variable[18] = TAG_Bool(( variable[17] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[17] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6769 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction65___action, LOCATE_parser, 3660); nit_exit(1);}
6770 variable[18] = variable[12] /*nodearraylist2*/;
6771 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
6772 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction65___action, LOCATE_parser, 3662); nit_exit(1);}
6773 variable[19] = variable[11] /*nodearraylist3*/;
6774 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6775 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction65___action, LOCATE_parser, 3664); nit_exit(1);}
6776 variable[20] = variable[10] /*nodearraylist4*/;
6777 variable[21] = TAG_Bool(( variable[20] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[20] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6778 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction65___action, LOCATE_parser, 3666); nit_exit(1);}
6779 variable[21] = variable[8] /*nodearraylist6*/;
6780 variable[22] = TAG_Bool(( variable[21] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[21] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6781 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction65___action, LOCATE_parser, 3668); nit_exit(1);}
6782 variable[22] = variable[7] /*nodearraylist7*/;
6783 variable[23] = TAG_Bool(( variable[22] /*ppropdefnode9*/==NIT_NULL) || VAL_ISA( variable[22] /*ppropdefnode9*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
6784 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction65___action, LOCATE_parser, 3670); nit_exit(1);}
6785 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*ppropdefnode9*/ == NIT_NULL /*null*/) || (( variable[22] /*ppropdefnode9*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[22] /*ppropdefnode9*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*ppropdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[22] /*ppropdefnode9*/)( variable[22] /*ppropdefnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6786 if (UNTAG_Bool(variable[23])) { /*if*/
6787 CALL_abstract_collection___SimpleCollection___add( variable[16] /*listnode10*/)( variable[16] /*listnode10*/, variable[22] /*ppropdefnode9*/) /*AbstractArray::add*/;
6788 }
6789 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*/
6790 variable[23] = variable[24];
6791 variable[3] = variable[23] /*pclassdefnode1*/ /*node_list=*/;
6792 variable[24] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6793 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
6794 return_label162: while(false);
6795 tracehead = trace.prev;
6796 return;
6797 }
6798 void parser___ReduceAction65___init(val_t self, int* init_table) {
6799 struct trace_t trace = {NULL, NULL, 3687, LOCATE_parser___ReduceAction65___init};
6800 val_t variable[2];
6801 void **closurevariable = NULL;
6802 trace.prev = tracehead; tracehead = &trace;
6803 trace.file = LOCATE_parser;
6804 variable[0] = self;
6805 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction65].i]) return;
6806 return_label163: while(false);
6807 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction65].i] = 1;
6808 tracehead = trace.prev;
6809 return;
6810 }
6811 void parser___ReduceAction66___action(val_t self, val_t param0) {
6812 struct trace_t trace = {NULL, NULL, 3691, LOCATE_parser___ReduceAction66___action};
6813 val_t variable[27];
6814 void **closurevariable = NULL;
6815 trace.prev = tracehead; tracehead = &trace;
6816 trace.file = LOCATE_parser;
6817 variable[0] = self;
6818 variable[1] = param0;
6819 variable[3] = NIT_NULL /*null*/;
6820 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6821 variable[4] = variable[5];
6822 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6823 variable[5] = variable[6];
6824 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6825 variable[6] = variable[7];
6826 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6827 variable[7] = variable[8];
6828 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6829 variable[8] = variable[9];
6830 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6831 variable[9] = variable[10];
6832 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6833 variable[10] = variable[11];
6834 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6835 variable[11] = variable[12];
6836 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6837 variable[12] = variable[13];
6838 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6839 variable[13] = variable[14];
6840 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6841 variable[14] = variable[15];
6842 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6843 variable[15] = variable[16];
6844 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6845 variable[16] = variable[17];
6846 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6847 variable[17] = variable[18];
6848 variable[18] = variable[14] /*nodearraylist1*/;
6849 variable[19] = TAG_Bool(( variable[18] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[18] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6850 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3709); nit_exit(1);}
6851 variable[19] = variable[13] /*nodearraylist2*/;
6852 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
6853 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3711); nit_exit(1);}
6854 variable[20] = variable[12] /*nodearraylist3*/;
6855 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6856 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3713); nit_exit(1);}
6857 variable[21] = variable[11] /*nodearraylist4*/;
6858 variable[22] = TAG_Bool(( variable[21] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[21] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6859 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3715); nit_exit(1);}
6860 variable[22] = variable[9] /*nodearraylist6*/;
6861 variable[23] = TAG_Bool(( variable[22] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[22] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6862 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3717); nit_exit(1);}
6863 variable[23] = variable[8] /*nodearraylist7*/;
6864 variable[24] = TAG_Bool(( variable[23] /*ppropdefnode9*/==NIT_NULL) || VAL_ISA( variable[23] /*ppropdefnode9*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
6865 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3719); nit_exit(1);}
6866 variable[24] = variable[6] /*nodearraylist9*/;
6867 variable[25] = TAG_Bool(( variable[24] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[24] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6868 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3721); nit_exit(1);}
6869 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*ppropdefnode9*/ == NIT_NULL /*null*/) || (( variable[23] /*ppropdefnode9*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[23] /*ppropdefnode9*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*ppropdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[23] /*ppropdefnode9*/)( variable[23] /*ppropdefnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6870 if (UNTAG_Bool(variable[25])) { /*if*/
6871 CALL_abstract_collection___SimpleCollection___add( variable[17] /*listnode11*/)( variable[17] /*listnode11*/, variable[23] /*ppropdefnode9*/) /*AbstractArray::add*/;
6872 }
6873 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[24] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[24] /*listnode10*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[24] /*listnode10*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[24] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[24] /*listnode10*/)( variable[24] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6874 if (UNTAG_Bool(variable[25])) { /*if*/
6875 variable[25] = CALL_abstract_collection___Collection___is_empty( variable[17] /*listnode11*/)( variable[17] /*listnode11*/) /*AbstractArray::is_empty*/;
6876 if (UNTAG_Bool(variable[25])) { /*if*/
6877 variable[17] = variable[24] /*listnode10*/ /*listnode11=*/;
6878 } else { /*if*/
6879 CALL_abstract_collection___IndexedCollection___append( variable[17] /*listnode11*/)( variable[17] /*listnode11*/, variable[24] /*listnode10*/) /*IndexedCollection::append*/;
6880 }
6881 }
6882 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*/
6883 variable[25] = variable[26];
6884 variable[3] = variable[25] /*pclassdefnode1*/ /*node_list=*/;
6885 variable[26] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6886 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
6887 return_label164: while(false);
6888 tracehead = trace.prev;
6889 return;
6890 }
6891 void parser___ReduceAction66___init(val_t self, int* init_table) {
6892 struct trace_t trace = {NULL, NULL, 3745, LOCATE_parser___ReduceAction66___init};
6893 val_t variable[2];
6894 void **closurevariable = NULL;
6895 trace.prev = tracehead; tracehead = &trace;
6896 trace.file = LOCATE_parser;
6897 variable[0] = self;
6898 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction66].i]) return;
6899 return_label165: while(false);
6900 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction66].i] = 1;
6901 tracehead = trace.prev;
6902 return;
6903 }
6904 void parser___ReduceAction67___action(val_t self, val_t param0) {
6905 struct trace_t trace = {NULL, NULL, 3749, LOCATE_parser___ReduceAction67___action};
6906 val_t variable[25];
6907 void **closurevariable = NULL;
6908 trace.prev = tracehead; tracehead = &trace;
6909 trace.file = LOCATE_parser;
6910 variable[0] = self;
6911 variable[1] = param0;
6912 variable[3] = NIT_NULL /*null*/;
6913 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6914 variable[4] = variable[5];
6915 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6916 variable[5] = variable[6];
6917 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6918 variable[6] = variable[7];
6919 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6920 variable[7] = variable[8];
6921 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6922 variable[8] = variable[9];
6923 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6924 variable[9] = variable[10];
6925 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6926 variable[10] = variable[11];
6927 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6928 variable[11] = variable[12];
6929 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6930 variable[12] = variable[13];
6931 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6932 variable[13] = variable[14];
6933 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6934 variable[14] = variable[15];
6935 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6936 variable[15] = variable[16];
6937 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6938 variable[16] = variable[17];
6939 variable[17] = variable[13] /*nodearraylist1*/;
6940 variable[18] = TAG_Bool(( variable[17] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[17] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6941 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction67___action, LOCATE_parser, 3766); nit_exit(1);}
6942 variable[18] = variable[12] /*nodearraylist2*/;
6943 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6944 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction67___action, LOCATE_parser, 3768); nit_exit(1);}
6945 variable[19] = variable[11] /*nodearraylist3*/;
6946 variable[20] = TAG_Bool(( variable[19] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[19] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6947 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction67___action, LOCATE_parser, 3770); nit_exit(1);}
6948 variable[20] = variable[9] /*nodearraylist5*/;
6949 variable[21] = TAG_Bool(( variable[20] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[20] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6950 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction67___action, LOCATE_parser, 3772); nit_exit(1);}
6951 variable[21] = variable[8] /*nodearraylist6*/;
6952 variable[22] = TAG_Bool(( variable[21] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6953 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction67___action, LOCATE_parser, 3774); nit_exit(1);}
6954 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[21] /*listnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[21] /*listnode7*/)( variable[21] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6955 if (UNTAG_Bool(variable[22])) { /*if*/
6956 variable[22] = CALL_abstract_collection___Collection___is_empty( variable[14] /*listnode8*/)( variable[14] /*listnode8*/) /*AbstractArray::is_empty*/;
6957 if (UNTAG_Bool(variable[22])) { /*if*/
6958 variable[14] = variable[21] /*listnode7*/ /*listnode8=*/;
6959 } else { /*if*/
6960 CALL_abstract_collection___IndexedCollection___append( variable[14] /*listnode8*/)( variable[14] /*listnode8*/, variable[21] /*listnode7*/) /*IndexedCollection::append*/;
6961 }
6962 }
6963 variable[22] = variable[7] /*nodearraylist7*/;
6964 variable[23] = TAG_Bool(( variable[22] /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable[22] /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
6965 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction67___action, LOCATE_parser, 3783); nit_exit(1);}
6966 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable[22] /*ppropdefnode10*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[22] /*ppropdefnode10*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[22] /*ppropdefnode10*/)( variable[22] /*ppropdefnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6967 if (UNTAG_Bool(variable[23])) { /*if*/
6968 CALL_abstract_collection___SimpleCollection___add( variable[16] /*listnode11*/)( variable[16] /*listnode11*/, variable[22] /*ppropdefnode10*/) /*AbstractArray::add*/;
6969 }
6970 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*/
6971 variable[23] = variable[24];
6972 variable[3] = variable[23] /*pclassdefnode1*/ /*node_list=*/;
6973 variable[24] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6974 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
6975 return_label166: while(false);
6976 tracehead = trace.prev;
6977 return;
6978 }
6979 void parser___ReduceAction67___init(val_t self, int* init_table) {
6980 struct trace_t trace = {NULL, NULL, 3800, LOCATE_parser___ReduceAction67___init};
6981 val_t variable[2];
6982 void **closurevariable = NULL;
6983 trace.prev = tracehead; tracehead = &trace;
6984 trace.file = LOCATE_parser;
6985 variable[0] = self;
6986 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction67].i]) return;
6987 return_label167: while(false);
6988 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction67].i] = 1;
6989 tracehead = trace.prev;
6990 return;
6991 }
6992 void parser___ReduceAction68___action(val_t self, val_t param0) {
6993 struct trace_t trace = {NULL, NULL, 3804, LOCATE_parser___ReduceAction68___action};
6994 val_t variable[27];
6995 void **closurevariable = NULL;
6996 trace.prev = tracehead; tracehead = &trace;
6997 trace.file = LOCATE_parser;
6998 variable[0] = self;
6999 variable[1] = param0;
7000 variable[3] = NIT_NULL /*null*/;
7001 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7002 variable[4] = variable[5];
7003 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7004 variable[5] = variable[6];
7005 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7006 variable[6] = variable[7];
7007 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7008 variable[7] = variable[8];
7009 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7010 variable[8] = variable[9];
7011 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7012 variable[9] = variable[10];
7013 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7014 variable[10] = variable[11];
7015 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7016 variable[11] = variable[12];
7017 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7018 variable[12] = variable[13];
7019 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7020 variable[13] = variable[14];
7021 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7022 variable[14] = variable[15];
7023 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7024 variable[15] = variable[16];
7025 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7026 variable[16] = variable[17];
7027 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7028 variable[17] = variable[18];
7029 variable[18] = variable[14] /*nodearraylist1*/;
7030 variable[19] = TAG_Bool(( variable[18] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[18] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7031 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 3822); nit_exit(1);}
7032 variable[19] = variable[13] /*nodearraylist2*/;
7033 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7034 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 3824); nit_exit(1);}
7035 variable[20] = variable[12] /*nodearraylist3*/;
7036 variable[21] = TAG_Bool(( variable[20] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[20] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7037 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 3826); nit_exit(1);}
7038 variable[21] = variable[10] /*nodearraylist5*/;
7039 variable[22] = TAG_Bool(( variable[21] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[21] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7040 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 3828); nit_exit(1);}
7041 variable[22] = variable[9] /*nodearraylist6*/;
7042 variable[23] = TAG_Bool(( variable[22] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7043 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 3830); nit_exit(1);}
7044 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[22] /*listnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[22] /*listnode7*/)( variable[22] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7045 if (UNTAG_Bool(variable[23])) { /*if*/
7046 variable[23] = CALL_abstract_collection___Collection___is_empty( variable[15] /*listnode8*/)( variable[15] /*listnode8*/) /*AbstractArray::is_empty*/;
7047 if (UNTAG_Bool(variable[23])) { /*if*/
7048 variable[15] = variable[22] /*listnode7*/ /*listnode8=*/;
7049 } else { /*if*/
7050 CALL_abstract_collection___IndexedCollection___append( variable[15] /*listnode8*/)( variable[15] /*listnode8*/, variable[22] /*listnode7*/) /*IndexedCollection::append*/;
7051 }
7052 }
7053 variable[23] = variable[8] /*nodearraylist7*/;
7054 variable[24] = TAG_Bool(( variable[23] /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable[23] /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7055 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 3839); nit_exit(1);}
7056 variable[24] = variable[6] /*nodearraylist9*/;
7057 variable[25] = TAG_Bool(( variable[24] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[24] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7058 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 3841); nit_exit(1);}
7059 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable[23] /*ppropdefnode10*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[23] /*ppropdefnode10*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[23] /*ppropdefnode10*/)( variable[23] /*ppropdefnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7060 if (UNTAG_Bool(variable[25])) { /*if*/
7061 CALL_abstract_collection___SimpleCollection___add( variable[17] /*listnode12*/)( variable[17] /*listnode12*/, variable[23] /*ppropdefnode10*/) /*AbstractArray::add*/;
7062 }
7063 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[24] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[24] /*listnode11*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[24] /*listnode11*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[24] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[24] /*listnode11*/)( variable[24] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7064 if (UNTAG_Bool(variable[25])) { /*if*/
7065 variable[25] = CALL_abstract_collection___Collection___is_empty( variable[17] /*listnode12*/)( variable[17] /*listnode12*/) /*AbstractArray::is_empty*/;
7066 if (UNTAG_Bool(variable[25])) { /*if*/
7067 variable[17] = variable[24] /*listnode11*/ /*listnode12=*/;
7068 } else { /*if*/
7069 CALL_abstract_collection___IndexedCollection___append( variable[17] /*listnode12*/)( variable[17] /*listnode12*/, variable[24] /*listnode11*/) /*IndexedCollection::append*/;
7070 }
7071 }
7072 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*/
7073 variable[25] = variable[26];
7074 variable[3] = variable[25] /*pclassdefnode1*/ /*node_list=*/;
7075 variable[26] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7076 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
7077 return_label168: while(false);
7078 tracehead = trace.prev;
7079 return;
7080 }
7081 void parser___ReduceAction68___init(val_t self, int* init_table) {
7082 struct trace_t trace = {NULL, NULL, 3865, LOCATE_parser___ReduceAction68___init};
7083 val_t variable[2];
7084 void **closurevariable = NULL;
7085 trace.prev = tracehead; tracehead = &trace;
7086 trace.file = LOCATE_parser;
7087 variable[0] = self;
7088 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction68].i]) return;
7089 return_label169: while(false);
7090 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction68].i] = 1;
7091 tracehead = trace.prev;
7092 return;
7093 }
7094 void parser___ReduceAction69___action(val_t self, val_t param0) {
7095 struct trace_t trace = {NULL, NULL, 3869, LOCATE_parser___ReduceAction69___action};
7096 val_t variable[27];
7097 void **closurevariable = NULL;
7098 trace.prev = tracehead; tracehead = &trace;
7099 trace.file = LOCATE_parser;
7100 variable[0] = self;
7101 variable[1] = param0;
7102 variable[3] = NIT_NULL /*null*/;
7103 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7104 variable[4] = variable[5];
7105 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7106 variable[5] = variable[6];
7107 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7108 variable[6] = variable[7];
7109 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7110 variable[7] = variable[8];
7111 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7112 variable[8] = variable[9];
7113 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7114 variable[9] = variable[10];
7115 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7116 variable[10] = variable[11];
7117 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7118 variable[11] = variable[12];
7119 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7120 variable[12] = variable[13];
7121 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7122 variable[13] = variable[14];
7123 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7124 variable[14] = variable[15];
7125 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7126 variable[15] = variable[16];
7127 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7128 variable[16] = variable[17];
7129 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7130 variable[17] = variable[18];
7131 variable[18] = variable[14] /*nodearraylist1*/;
7132 variable[19] = TAG_Bool(( variable[18] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[18] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7133 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 3887); nit_exit(1);}
7134 variable[19] = variable[13] /*nodearraylist2*/;
7135 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
7136 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 3889); nit_exit(1);}
7137 variable[20] = variable[12] /*nodearraylist3*/;
7138 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7139 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 3891); nit_exit(1);}
7140 variable[21] = variable[11] /*nodearraylist4*/;
7141 variable[22] = TAG_Bool(( variable[21] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[21] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7142 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 3893); nit_exit(1);}
7143 variable[22] = variable[9] /*nodearraylist6*/;
7144 variable[23] = TAG_Bool(( variable[22] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[22] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7145 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 3895); nit_exit(1);}
7146 variable[23] = variable[8] /*nodearraylist7*/;
7147 variable[24] = TAG_Bool(( variable[23] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7148 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 3897); nit_exit(1);}
7149 variable[24] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[23] /*listnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[23] /*listnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[23] /*listnode7*/)( variable[23] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7150 if (UNTAG_Bool(variable[24])) { /*if*/
7151 variable[24] = CALL_abstract_collection___Collection___is_empty( variable[15] /*listnode8*/)( variable[15] /*listnode8*/) /*AbstractArray::is_empty*/;
7152 if (UNTAG_Bool(variable[24])) { /*if*/
7153 variable[15] = variable[23] /*listnode7*/ /*listnode8=*/;
7154 } else { /*if*/
7155 CALL_abstract_collection___IndexedCollection___append( variable[15] /*listnode8*/)( variable[15] /*listnode8*/, variable[23] /*listnode7*/) /*IndexedCollection::append*/;
7156 }
7157 }
7158 variable[24] = variable[7] /*nodearraylist8*/;
7159 variable[25] = TAG_Bool(( variable[24] /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable[24] /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7160 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 3906); nit_exit(1);}
7161 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[24] /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable[24] /*ppropdefnode10*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[24] /*ppropdefnode10*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[24] /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[24] /*ppropdefnode10*/)( variable[24] /*ppropdefnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7162 if (UNTAG_Bool(variable[25])) { /*if*/
7163 CALL_abstract_collection___SimpleCollection___add( variable[17] /*listnode11*/)( variable[17] /*listnode11*/, variable[24] /*ppropdefnode10*/) /*AbstractArray::add*/;
7164 }
7165 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*/
7166 variable[25] = variable[26];
7167 variable[3] = variable[25] /*pclassdefnode1*/ /*node_list=*/;
7168 variable[26] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7169 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
7170 return_label170: while(false);
7171 tracehead = trace.prev;
7172 return;
7173 }
7174 void parser___ReduceAction69___init(val_t self, int* init_table) {
7175 struct trace_t trace = {NULL, NULL, 3923, LOCATE_parser___ReduceAction69___init};
7176 val_t variable[2];
7177 void **closurevariable = NULL;
7178 trace.prev = tracehead; tracehead = &trace;
7179 trace.file = LOCATE_parser;
7180 variable[0] = self;
7181 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction69].i]) return;
7182 return_label171: while(false);
7183 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction69].i] = 1;
7184 tracehead = trace.prev;
7185 return;
7186 }
7187 void parser___ReduceAction70___action(val_t self, val_t param0) {
7188 struct trace_t trace = {NULL, NULL, 3927, LOCATE_parser___ReduceAction70___action};
7189 val_t variable[29];
7190 void **closurevariable = NULL;
7191 trace.prev = tracehead; tracehead = &trace;
7192 trace.file = LOCATE_parser;
7193 variable[0] = self;
7194 variable[1] = param0;
7195 variable[3] = NIT_NULL /*null*/;
7196 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7197 variable[4] = variable[5];
7198 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7199 variable[5] = variable[6];
7200 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7201 variable[6] = variable[7];
7202 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7203 variable[7] = variable[8];
7204 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7205 variable[8] = variable[9];
7206 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7207 variable[9] = variable[10];
7208 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7209 variable[10] = variable[11];
7210 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7211 variable[11] = variable[12];
7212 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7213 variable[12] = variable[13];
7214 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7215 variable[13] = variable[14];
7216 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7217 variable[14] = variable[15];
7218 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7219 variable[15] = variable[16];
7220 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7221 variable[16] = variable[17];
7222 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7223 variable[17] = variable[18];
7224 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7225 variable[18] = variable[19];
7226 variable[19] = variable[15] /*nodearraylist1*/;
7227 variable[20] = TAG_Bool(( variable[19] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[19] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7228 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 3946); nit_exit(1);}
7229 variable[20] = variable[14] /*nodearraylist2*/;
7230 variable[21] = TAG_Bool(( variable[20] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
7231 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 3948); nit_exit(1);}
7232 variable[21] = variable[13] /*nodearraylist3*/;
7233 variable[22] = TAG_Bool(( variable[21] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[21] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7234 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 3950); nit_exit(1);}
7235 variable[22] = variable[12] /*nodearraylist4*/;
7236 variable[23] = TAG_Bool(( variable[22] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[22] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7237 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 3952); nit_exit(1);}
7238 variable[23] = variable[10] /*nodearraylist6*/;
7239 variable[24] = TAG_Bool(( variable[23] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[23] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7240 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 3954); nit_exit(1);}
7241 variable[24] = variable[9] /*nodearraylist7*/;
7242 variable[25] = TAG_Bool(( variable[24] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[24] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7243 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 3956); nit_exit(1);}
7244 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[24] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[24] /*listnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[24] /*listnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[24] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[24] /*listnode7*/)( variable[24] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7245 if (UNTAG_Bool(variable[25])) { /*if*/
7246 variable[25] = CALL_abstract_collection___Collection___is_empty( variable[16] /*listnode8*/)( variable[16] /*listnode8*/) /*AbstractArray::is_empty*/;
7247 if (UNTAG_Bool(variable[25])) { /*if*/
7248 variable[16] = variable[24] /*listnode7*/ /*listnode8=*/;
7249 } else { /*if*/
7250 CALL_abstract_collection___IndexedCollection___append( variable[16] /*listnode8*/)( variable[16] /*listnode8*/, variable[24] /*listnode7*/) /*IndexedCollection::append*/;
7251 }
7252 }
7253 variable[25] = variable[8] /*nodearraylist8*/;
7254 variable[26] = TAG_Bool(( variable[25] /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable[25] /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7255 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 3965); nit_exit(1);}
7256 variable[26] = variable[6] /*nodearraylist10*/;
7257 variable[27] = TAG_Bool(( variable[26] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[26] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7258 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 3967); nit_exit(1);}
7259 variable[27] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[25] /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable[25] /*ppropdefnode10*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[25] /*ppropdefnode10*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[25] /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[25] /*ppropdefnode10*/)( variable[25] /*ppropdefnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7260 if (UNTAG_Bool(variable[27])) { /*if*/
7261 CALL_abstract_collection___SimpleCollection___add( variable[18] /*listnode12*/)( variable[18] /*listnode12*/, variable[25] /*ppropdefnode10*/) /*AbstractArray::add*/;
7262 }
7263 variable[27] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[26] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[26] /*listnode11*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[26] /*listnode11*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[26] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[26] /*listnode11*/)( variable[26] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7264 if (UNTAG_Bool(variable[27])) { /*if*/
7265 variable[27] = CALL_abstract_collection___Collection___is_empty( variable[18] /*listnode12*/)( variable[18] /*listnode12*/) /*AbstractArray::is_empty*/;
7266 if (UNTAG_Bool(variable[27])) { /*if*/
7267 variable[18] = variable[26] /*listnode11*/ /*listnode12=*/;
7268 } else { /*if*/
7269 CALL_abstract_collection___IndexedCollection___append( variable[18] /*listnode12*/)( variable[18] /*listnode12*/, variable[26] /*listnode11*/) /*IndexedCollection::append*/;
7270 }
7271 }
7272 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*/
7273 variable[27] = variable[28];
7274 variable[3] = variable[27] /*pclassdefnode1*/ /*node_list=*/;
7275 variable[28] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7276 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[28], variable[3] /*node_list*/) /*Parser::push*/;
7277 return_label172: while(false);
7278 tracehead = trace.prev;
7279 return;
7280 }
7281 void parser___ReduceAction70___init(val_t self, int* init_table) {
7282 struct trace_t trace = {NULL, NULL, 3991, LOCATE_parser___ReduceAction70___init};
7283 val_t variable[2];
7284 void **closurevariable = NULL;
7285 trace.prev = tracehead; tracehead = &trace;
7286 trace.file = LOCATE_parser;
7287 variable[0] = self;
7288 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction70].i]) return;
7289 return_label173: while(false);
7290 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction70].i] = 1;
7291 tracehead = trace.prev;
7292 return;
7293 }
7294 void parser___ReduceAction71___action(val_t self, val_t param0) {
7295 struct trace_t trace = {NULL, NULL, 3995, LOCATE_parser___ReduceAction71___action};
7296 val_t variable[25];
7297 void **closurevariable = NULL;
7298 trace.prev = tracehead; tracehead = &trace;
7299 trace.file = LOCATE_parser;
7300 variable[0] = self;
7301 variable[1] = param0;
7302 variable[3] = NIT_NULL /*null*/;
7303 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7304 variable[4] = variable[5];
7305 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7306 variable[5] = variable[6];
7307 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7308 variable[6] = variable[7];
7309 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7310 variable[7] = variable[8];
7311 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7312 variable[8] = variable[9];
7313 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7314 variable[9] = variable[10];
7315 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7316 variable[10] = variable[11];
7317 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7318 variable[11] = variable[12];
7319 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7320 variable[12] = variable[13];
7321 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7322 variable[13] = variable[14];
7323 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7324 variable[14] = variable[15];
7325 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7326 variable[15] = variable[16];
7327 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7328 variable[16] = variable[17];
7329 variable[17] = variable[13] /*nodearraylist1*/;
7330 variable[18] = TAG_Bool(( variable[17] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[17] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7331 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction71___action, LOCATE_parser, 4012); nit_exit(1);}
7332 variable[18] = variable[12] /*nodearraylist2*/;
7333 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7334 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction71___action, LOCATE_parser, 4014); nit_exit(1);}
7335 variable[19] = variable[11] /*nodearraylist3*/;
7336 variable[20] = TAG_Bool(( variable[19] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[19] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7337 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction71___action, LOCATE_parser, 4016); nit_exit(1);}
7338 variable[20] = variable[9] /*nodearraylist5*/;
7339 variable[21] = TAG_Bool(( variable[20] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[20] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7340 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction71___action, LOCATE_parser, 4018); nit_exit(1);}
7341 variable[21] = variable[8] /*nodearraylist6*/;
7342 variable[22] = TAG_Bool(( variable[21] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7343 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction71___action, LOCATE_parser, 4020); nit_exit(1);}
7344 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode8*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[21] /*listnode8*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[21] /*listnode8*/)( variable[21] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7345 if (UNTAG_Bool(variable[22])) { /*if*/
7346 variable[22] = CALL_abstract_collection___Collection___is_empty( variable[15] /*listnode9*/)( variable[15] /*listnode9*/) /*AbstractArray::is_empty*/;
7347 if (UNTAG_Bool(variable[22])) { /*if*/
7348 variable[15] = variable[21] /*listnode8*/ /*listnode9=*/;
7349 } else { /*if*/
7350 CALL_abstract_collection___IndexedCollection___append( variable[15] /*listnode9*/)( variable[15] /*listnode9*/, variable[21] /*listnode8*/) /*IndexedCollection::append*/;
7351 }
7352 }
7353 variable[22] = variable[7] /*nodearraylist7*/;
7354 variable[23] = TAG_Bool(( variable[22] /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable[22] /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7355 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction71___action, LOCATE_parser, 4029); nit_exit(1);}
7356 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable[22] /*ppropdefnode10*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[22] /*ppropdefnode10*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[22] /*ppropdefnode10*/)( variable[22] /*ppropdefnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7357 if (UNTAG_Bool(variable[23])) { /*if*/
7358 CALL_abstract_collection___SimpleCollection___add( variable[16] /*listnode11*/)( variable[16] /*listnode11*/, variable[22] /*ppropdefnode10*/) /*AbstractArray::add*/;
7359 }
7360 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*/
7361 variable[23] = variable[24];
7362 variable[3] = variable[23] /*pclassdefnode1*/ /*node_list=*/;
7363 variable[24] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7364 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
7365 return_label174: while(false);
7366 tracehead = trace.prev;
7367 return;
7368 }
7369 void parser___ReduceAction71___init(val_t self, int* init_table) {
7370 struct trace_t trace = {NULL, NULL, 4046, LOCATE_parser___ReduceAction71___init};
7371 val_t variable[2];
7372 void **closurevariable = NULL;
7373 trace.prev = tracehead; tracehead = &trace;
7374 trace.file = LOCATE_parser;
7375 variable[0] = self;
7376 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction71].i]) return;
7377 return_label175: while(false);
7378 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction71].i] = 1;
7379 tracehead = trace.prev;
7380 return;
7381 }
7382 void parser___ReduceAction72___action(val_t self, val_t param0) {
7383 struct trace_t trace = {NULL, NULL, 4050, LOCATE_parser___ReduceAction72___action};
7384 val_t variable[27];
7385 void **closurevariable = NULL;
7386 trace.prev = tracehead; tracehead = &trace;
7387 trace.file = LOCATE_parser;
7388 variable[0] = self;
7389 variable[1] = param0;
7390 variable[3] = NIT_NULL /*null*/;
7391 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7392 variable[4] = variable[5];
7393 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7394 variable[5] = variable[6];
7395 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7396 variable[6] = variable[7];
7397 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7398 variable[7] = variable[8];
7399 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7400 variable[8] = variable[9];
7401 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7402 variable[9] = variable[10];
7403 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7404 variable[10] = variable[11];
7405 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7406 variable[11] = variable[12];
7407 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7408 variable[12] = variable[13];
7409 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7410 variable[13] = variable[14];
7411 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7412 variable[14] = variable[15];
7413 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7414 variable[15] = variable[16];
7415 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7416 variable[16] = variable[17];
7417 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7418 variable[17] = variable[18];
7419 variable[18] = variable[14] /*nodearraylist1*/;
7420 variable[19] = TAG_Bool(( variable[18] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[18] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7421 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 4068); nit_exit(1);}
7422 variable[19] = variable[13] /*nodearraylist2*/;
7423 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7424 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 4070); nit_exit(1);}
7425 variable[20] = variable[12] /*nodearraylist3*/;
7426 variable[21] = TAG_Bool(( variable[20] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[20] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7427 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 4072); nit_exit(1);}
7428 variable[21] = variable[10] /*nodearraylist5*/;
7429 variable[22] = TAG_Bool(( variable[21] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[21] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7430 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 4074); nit_exit(1);}
7431 variable[22] = variable[9] /*nodearraylist6*/;
7432 variable[23] = TAG_Bool(( variable[22] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7433 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 4076); nit_exit(1);}
7434 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode8*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[22] /*listnode8*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[22] /*listnode8*/)( variable[22] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7435 if (UNTAG_Bool(variable[23])) { /*if*/
7436 variable[23] = CALL_abstract_collection___Collection___is_empty( variable[16] /*listnode9*/)( variable[16] /*listnode9*/) /*AbstractArray::is_empty*/;
7437 if (UNTAG_Bool(variable[23])) { /*if*/
7438 variable[16] = variable[22] /*listnode8*/ /*listnode9=*/;
7439 } else { /*if*/
7440 CALL_abstract_collection___IndexedCollection___append( variable[16] /*listnode9*/)( variable[16] /*listnode9*/, variable[22] /*listnode8*/) /*IndexedCollection::append*/;
7441 }
7442 }
7443 variable[23] = variable[8] /*nodearraylist7*/;
7444 variable[24] = TAG_Bool(( variable[23] /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable[23] /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7445 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 4085); nit_exit(1);}
7446 variable[24] = variable[6] /*nodearraylist9*/;
7447 variable[25] = TAG_Bool(( variable[24] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[24] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7448 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 4087); nit_exit(1);}
7449 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable[23] /*ppropdefnode10*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[23] /*ppropdefnode10*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[23] /*ppropdefnode10*/)( variable[23] /*ppropdefnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7450 if (UNTAG_Bool(variable[25])) { /*if*/
7451 CALL_abstract_collection___SimpleCollection___add( variable[17] /*listnode12*/)( variable[17] /*listnode12*/, variable[23] /*ppropdefnode10*/) /*AbstractArray::add*/;
7452 }
7453 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[24] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[24] /*listnode11*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[24] /*listnode11*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[24] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[24] /*listnode11*/)( variable[24] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7454 if (UNTAG_Bool(variable[25])) { /*if*/
7455 variable[25] = CALL_abstract_collection___Collection___is_empty( variable[17] /*listnode12*/)( variable[17] /*listnode12*/) /*AbstractArray::is_empty*/;
7456 if (UNTAG_Bool(variable[25])) { /*if*/
7457 variable[17] = variable[24] /*listnode11*/ /*listnode12=*/;
7458 } else { /*if*/
7459 CALL_abstract_collection___IndexedCollection___append( variable[17] /*listnode12*/)( variable[17] /*listnode12*/, variable[24] /*listnode11*/) /*IndexedCollection::append*/;
7460 }
7461 }
7462 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*/
7463 variable[25] = variable[26];
7464 variable[3] = variable[25] /*pclassdefnode1*/ /*node_list=*/;
7465 variable[26] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7466 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
7467 return_label176: while(false);
7468 tracehead = trace.prev;
7469 return;
7470 }
7471 void parser___ReduceAction72___init(val_t self, int* init_table) {
7472 struct trace_t trace = {NULL, NULL, 4111, LOCATE_parser___ReduceAction72___init};
7473 val_t variable[2];
7474 void **closurevariable = NULL;
7475 trace.prev = tracehead; tracehead = &trace;
7476 trace.file = LOCATE_parser;
7477 variable[0] = self;
7478 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction72].i]) return;
7479 return_label177: while(false);
7480 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction72].i] = 1;
7481 tracehead = trace.prev;
7482 return;
7483 }
7484 void parser___ReduceAction73___action(val_t self, val_t param0) {
7485 struct trace_t trace = {NULL, NULL, 4115, LOCATE_parser___ReduceAction73___action};
7486 val_t variable[27];
7487 void **closurevariable = NULL;
7488 trace.prev = tracehead; tracehead = &trace;
7489 trace.file = LOCATE_parser;
7490 variable[0] = self;
7491 variable[1] = param0;
7492 variable[3] = NIT_NULL /*null*/;
7493 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7494 variable[4] = variable[5];
7495 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7496 variable[5] = variable[6];
7497 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7498 variable[6] = variable[7];
7499 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7500 variable[7] = variable[8];
7501 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7502 variable[8] = variable[9];
7503 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7504 variable[9] = variable[10];
7505 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7506 variable[10] = variable[11];
7507 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7508 variable[11] = variable[12];
7509 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7510 variable[12] = variable[13];
7511 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7512 variable[13] = variable[14];
7513 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7514 variable[14] = variable[15];
7515 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7516 variable[15] = variable[16];
7517 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7518 variable[16] = variable[17];
7519 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7520 variable[17] = variable[18];
7521 variable[18] = variable[14] /*nodearraylist1*/;
7522 variable[19] = TAG_Bool(( variable[18] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[18] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7523 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4133); nit_exit(1);}
7524 variable[19] = variable[13] /*nodearraylist2*/;
7525 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
7526 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4135); nit_exit(1);}
7527 variable[20] = variable[12] /*nodearraylist3*/;
7528 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7529 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4137); nit_exit(1);}
7530 variable[21] = variable[11] /*nodearraylist4*/;
7531 variable[22] = TAG_Bool(( variable[21] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[21] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7532 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4139); nit_exit(1);}
7533 variable[22] = variable[9] /*nodearraylist6*/;
7534 variable[23] = TAG_Bool(( variable[22] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[22] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7535 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4141); nit_exit(1);}
7536 variable[23] = variable[8] /*nodearraylist7*/;
7537 variable[24] = TAG_Bool(( variable[23] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7538 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4143); nit_exit(1);}
7539 variable[24] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[23] /*listnode8*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[23] /*listnode8*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[23] /*listnode8*/)( variable[23] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7540 if (UNTAG_Bool(variable[24])) { /*if*/
7541 variable[24] = CALL_abstract_collection___Collection___is_empty( variable[16] /*listnode9*/)( variable[16] /*listnode9*/) /*AbstractArray::is_empty*/;
7542 if (UNTAG_Bool(variable[24])) { /*if*/
7543 variable[16] = variable[23] /*listnode8*/ /*listnode9=*/;
7544 } else { /*if*/
7545 CALL_abstract_collection___IndexedCollection___append( variable[16] /*listnode9*/)( variable[16] /*listnode9*/, variable[23] /*listnode8*/) /*IndexedCollection::append*/;
7546 }
7547 }
7548 variable[24] = variable[7] /*nodearraylist8*/;
7549 variable[25] = TAG_Bool(( variable[24] /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable[24] /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7550 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4152); nit_exit(1);}
7551 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[24] /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable[24] /*ppropdefnode10*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[24] /*ppropdefnode10*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[24] /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[24] /*ppropdefnode10*/)( variable[24] /*ppropdefnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7552 if (UNTAG_Bool(variable[25])) { /*if*/
7553 CALL_abstract_collection___SimpleCollection___add( variable[17] /*listnode11*/)( variable[17] /*listnode11*/, variable[24] /*ppropdefnode10*/) /*AbstractArray::add*/;
7554 }
7555 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*/
7556 variable[25] = variable[26];
7557 variable[3] = variable[25] /*pclassdefnode1*/ /*node_list=*/;
7558 variable[26] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7559 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
7560 return_label178: while(false);
7561 tracehead = trace.prev;
7562 return;
7563 }
7564 void parser___ReduceAction73___init(val_t self, int* init_table) {
7565 struct trace_t trace = {NULL, NULL, 4169, LOCATE_parser___ReduceAction73___init};
7566 val_t variable[2];
7567 void **closurevariable = NULL;
7568 trace.prev = tracehead; tracehead = &trace;
7569 trace.file = LOCATE_parser;
7570 variable[0] = self;
7571 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction73].i]) return;
7572 return_label179: while(false);
7573 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction73].i] = 1;
7574 tracehead = trace.prev;
7575 return;
7576 }
7577 void parser___ReduceAction74___action(val_t self, val_t param0) {
7578 struct trace_t trace = {NULL, NULL, 4173, LOCATE_parser___ReduceAction74___action};
7579 val_t variable[29];
7580 void **closurevariable = NULL;
7581 trace.prev = tracehead; tracehead = &trace;
7582 trace.file = LOCATE_parser;
7583 variable[0] = self;
7584 variable[1] = param0;
7585 variable[3] = NIT_NULL /*null*/;
7586 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7587 variable[4] = variable[5];
7588 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7589 variable[5] = variable[6];
7590 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7591 variable[6] = variable[7];
7592 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7593 variable[7] = variable[8];
7594 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7595 variable[8] = variable[9];
7596 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7597 variable[9] = variable[10];
7598 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7599 variable[10] = variable[11];
7600 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7601 variable[11] = variable[12];
7602 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7603 variable[12] = variable[13];
7604 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7605 variable[13] = variable[14];
7606 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7607 variable[14] = variable[15];
7608 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7609 variable[15] = variable[16];
7610 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7611 variable[16] = variable[17];
7612 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7613 variable[17] = variable[18];
7614 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7615 variable[18] = variable[19];
7616 variable[19] = variable[15] /*nodearraylist1*/;
7617 variable[20] = TAG_Bool(( variable[19] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[19] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7618 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4192); nit_exit(1);}
7619 variable[20] = variable[14] /*nodearraylist2*/;
7620 variable[21] = TAG_Bool(( variable[20] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
7621 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4194); nit_exit(1);}
7622 variable[21] = variable[13] /*nodearraylist3*/;
7623 variable[22] = TAG_Bool(( variable[21] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[21] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7624 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4196); nit_exit(1);}
7625 variable[22] = variable[12] /*nodearraylist4*/;
7626 variable[23] = TAG_Bool(( variable[22] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[22] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7627 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4198); nit_exit(1);}
7628 variable[23] = variable[10] /*nodearraylist6*/;
7629 variable[24] = TAG_Bool(( variable[23] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[23] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7630 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4200); nit_exit(1);}
7631 variable[24] = variable[9] /*nodearraylist7*/;
7632 variable[25] = TAG_Bool(( variable[24] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[24] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7633 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4202); nit_exit(1);}
7634 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[24] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[24] /*listnode8*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[24] /*listnode8*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[24] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[24] /*listnode8*/)( variable[24] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7635 if (UNTAG_Bool(variable[25])) { /*if*/
7636 variable[25] = CALL_abstract_collection___Collection___is_empty( variable[17] /*listnode9*/)( variable[17] /*listnode9*/) /*AbstractArray::is_empty*/;
7637 if (UNTAG_Bool(variable[25])) { /*if*/
7638 variable[17] = variable[24] /*listnode8*/ /*listnode9=*/;
7639 } else { /*if*/
7640 CALL_abstract_collection___IndexedCollection___append( variable[17] /*listnode9*/)( variable[17] /*listnode9*/, variable[24] /*listnode8*/) /*IndexedCollection::append*/;
7641 }
7642 }
7643 variable[25] = variable[8] /*nodearraylist8*/;
7644 variable[26] = TAG_Bool(( variable[25] /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable[25] /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7645 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4211); nit_exit(1);}
7646 variable[26] = variable[6] /*nodearraylist10*/;
7647 variable[27] = TAG_Bool(( variable[26] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[26] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7648 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4213); nit_exit(1);}
7649 variable[27] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[25] /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable[25] /*ppropdefnode10*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[25] /*ppropdefnode10*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[25] /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[25] /*ppropdefnode10*/)( variable[25] /*ppropdefnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7650 if (UNTAG_Bool(variable[27])) { /*if*/
7651 CALL_abstract_collection___SimpleCollection___add( variable[18] /*listnode12*/)( variable[18] /*listnode12*/, variable[25] /*ppropdefnode10*/) /*AbstractArray::add*/;
7652 }
7653 variable[27] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[26] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[26] /*listnode11*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[26] /*listnode11*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[26] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[26] /*listnode11*/)( variable[26] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7654 if (UNTAG_Bool(variable[27])) { /*if*/
7655 variable[27] = CALL_abstract_collection___Collection___is_empty( variable[18] /*listnode12*/)( variable[18] /*listnode12*/) /*AbstractArray::is_empty*/;
7656 if (UNTAG_Bool(variable[27])) { /*if*/
7657 variable[18] = variable[26] /*listnode11*/ /*listnode12=*/;
7658 } else { /*if*/
7659 CALL_abstract_collection___IndexedCollection___append( variable[18] /*listnode12*/)( variable[18] /*listnode12*/, variable[26] /*listnode11*/) /*IndexedCollection::append*/;
7660 }
7661 }
7662 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*/
7663 variable[27] = variable[28];
7664 variable[3] = variable[27] /*pclassdefnode1*/ /*node_list=*/;
7665 variable[28] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7666 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[28], variable[3] /*node_list*/) /*Parser::push*/;
7667 return_label180: while(false);
7668 tracehead = trace.prev;
7669 return;
7670 }
7671 void parser___ReduceAction74___init(val_t self, int* init_table) {
7672 struct trace_t trace = {NULL, NULL, 4237, LOCATE_parser___ReduceAction74___init};
7673 val_t variable[2];
7674 void **closurevariable = NULL;
7675 trace.prev = tracehead; tracehead = &trace;
7676 trace.file = LOCATE_parser;
7677 variable[0] = self;
7678 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction74].i]) return;
7679 return_label181: while(false);
7680 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction74].i] = 1;
7681 tracehead = trace.prev;
7682 return;
7683 }
7684 void parser___ReduceAction75___action(val_t self, val_t param0) {
7685 struct trace_t trace = {NULL, NULL, 4241, LOCATE_parser___ReduceAction75___action};
7686 val_t variable[27];
7687 void **closurevariable = NULL;
7688 trace.prev = tracehead; tracehead = &trace;
7689 trace.file = LOCATE_parser;
7690 variable[0] = self;
7691 variable[1] = param0;
7692 variable[3] = NIT_NULL /*null*/;
7693 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7694 variable[4] = variable[5];
7695 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7696 variable[5] = variable[6];
7697 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7698 variable[6] = variable[7];
7699 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7700 variable[7] = variable[8];
7701 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7702 variable[8] = variable[9];
7703 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7704 variable[9] = variable[10];
7705 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7706 variable[10] = variable[11];
7707 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7708 variable[11] = variable[12];
7709 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7710 variable[12] = variable[13];
7711 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7712 variable[13] = variable[14];
7713 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7714 variable[14] = variable[15];
7715 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7716 variable[15] = variable[16];
7717 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7718 variable[16] = variable[17];
7719 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7720 variable[17] = variable[18];
7721 variable[18] = variable[14] /*nodearraylist1*/;
7722 variable[19] = TAG_Bool(( variable[18] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[18] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7723 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4259); nit_exit(1);}
7724 variable[19] = variable[13] /*nodearraylist2*/;
7725 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7726 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4261); nit_exit(1);}
7727 variable[20] = variable[12] /*nodearraylist3*/;
7728 variable[21] = TAG_Bool(( variable[20] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[20] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7729 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4263); nit_exit(1);}
7730 variable[21] = variable[10] /*nodearraylist5*/;
7731 variable[22] = TAG_Bool(( variable[21] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[21] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7732 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4265); nit_exit(1);}
7733 variable[22] = variable[9] /*nodearraylist6*/;
7734 variable[23] = TAG_Bool(( variable[22] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7735 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4267); nit_exit(1);}
7736 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[22] /*listnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[22] /*listnode7*/)( variable[22] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7737 if (UNTAG_Bool(variable[23])) { /*if*/
7738 variable[23] = CALL_abstract_collection___Collection___is_empty( variable[15] /*listnode8*/)( variable[15] /*listnode8*/) /*AbstractArray::is_empty*/;
7739 if (UNTAG_Bool(variable[23])) { /*if*/
7740 variable[15] = variable[22] /*listnode7*/ /*listnode8=*/;
7741 } else { /*if*/
7742 CALL_abstract_collection___IndexedCollection___append( variable[15] /*listnode8*/)( variable[15] /*listnode8*/, variable[22] /*listnode7*/) /*IndexedCollection::append*/;
7743 }
7744 }
7745 variable[23] = variable[8] /*nodearraylist7*/;
7746 variable[24] = TAG_Bool(( variable[23] /*listnode9*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7747 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4276); nit_exit(1);}
7748 variable[24] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*listnode9*/ == NIT_NULL /*null*/) || (( variable[23] /*listnode9*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[23] /*listnode9*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*listnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[23] /*listnode9*/)( variable[23] /*listnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7749 if (UNTAG_Bool(variable[24])) { /*if*/
7750 variable[24] = CALL_abstract_collection___Collection___is_empty( variable[16] /*listnode10*/)( variable[16] /*listnode10*/) /*AbstractArray::is_empty*/;
7751 if (UNTAG_Bool(variable[24])) { /*if*/
7752 variable[16] = variable[23] /*listnode9*/ /*listnode10=*/;
7753 } else { /*if*/
7754 CALL_abstract_collection___IndexedCollection___append( variable[16] /*listnode10*/)( variable[16] /*listnode10*/, variable[23] /*listnode9*/) /*IndexedCollection::append*/;
7755 }
7756 }
7757 variable[24] = variable[7] /*nodearraylist8*/;
7758 variable[25] = TAG_Bool(( variable[24] /*ppropdefnode11*/==NIT_NULL) || VAL_ISA( variable[24] /*ppropdefnode11*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7759 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4285); nit_exit(1);}
7760 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[24] /*ppropdefnode11*/ == NIT_NULL /*null*/) || (( variable[24] /*ppropdefnode11*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[24] /*ppropdefnode11*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[24] /*ppropdefnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[24] /*ppropdefnode11*/)( variable[24] /*ppropdefnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7761 if (UNTAG_Bool(variable[25])) { /*if*/
7762 CALL_abstract_collection___SimpleCollection___add( variable[17] /*listnode12*/)( variable[17] /*listnode12*/, variable[24] /*ppropdefnode11*/) /*AbstractArray::add*/;
7763 }
7764 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*/
7765 variable[25] = variable[26];
7766 variable[3] = variable[25] /*pclassdefnode1*/ /*node_list=*/;
7767 variable[26] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7768 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
7769 return_label182: while(false);
7770 tracehead = trace.prev;
7771 return;
7772 }
7773 void parser___ReduceAction75___init(val_t self, int* init_table) {
7774 struct trace_t trace = {NULL, NULL, 4302, LOCATE_parser___ReduceAction75___init};
7775 val_t variable[2];
7776 void **closurevariable = NULL;
7777 trace.prev = tracehead; tracehead = &trace;
7778 trace.file = LOCATE_parser;
7779 variable[0] = self;
7780 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction75].i]) return;
7781 return_label183: while(false);
7782 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction75].i] = 1;
7783 tracehead = trace.prev;
7784 return;
7785 }
7786 void parser___ReduceAction76___action(val_t self, val_t param0) {
7787 struct trace_t trace = {NULL, NULL, 4306, LOCATE_parser___ReduceAction76___action};
7788 val_t variable[29];
7789 void **closurevariable = NULL;
7790 trace.prev = tracehead; tracehead = &trace;
7791 trace.file = LOCATE_parser;
7792 variable[0] = self;
7793 variable[1] = param0;
7794 variable[3] = NIT_NULL /*null*/;
7795 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7796 variable[4] = variable[5];
7797 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7798 variable[5] = variable[6];
7799 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7800 variable[6] = variable[7];
7801 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7802 variable[7] = variable[8];
7803 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7804 variable[8] = variable[9];
7805 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7806 variable[9] = variable[10];
7807 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7808 variable[10] = variable[11];
7809 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7810 variable[11] = variable[12];
7811 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7812 variable[12] = variable[13];
7813 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7814 variable[13] = variable[14];
7815 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7816 variable[14] = variable[15];
7817 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7818 variable[15] = variable[16];
7819 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7820 variable[16] = variable[17];
7821 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7822 variable[17] = variable[18];
7823 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7824 variable[18] = variable[19];
7825 variable[19] = variable[15] /*nodearraylist1*/;
7826 variable[20] = TAG_Bool(( variable[19] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[19] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7827 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4325); nit_exit(1);}
7828 variable[20] = variable[14] /*nodearraylist2*/;
7829 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7830 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4327); nit_exit(1);}
7831 variable[21] = variable[13] /*nodearraylist3*/;
7832 variable[22] = TAG_Bool(( variable[21] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[21] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7833 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4329); nit_exit(1);}
7834 variable[22] = variable[11] /*nodearraylist5*/;
7835 variable[23] = TAG_Bool(( variable[22] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[22] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7836 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4331); nit_exit(1);}
7837 variable[23] = variable[10] /*nodearraylist6*/;
7838 variable[24] = TAG_Bool(( variable[23] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7839 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4333); nit_exit(1);}
7840 variable[24] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[23] /*listnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[23] /*listnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[23] /*listnode7*/)( variable[23] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7841 if (UNTAG_Bool(variable[24])) { /*if*/
7842 variable[24] = CALL_abstract_collection___Collection___is_empty( variable[16] /*listnode8*/)( variable[16] /*listnode8*/) /*AbstractArray::is_empty*/;
7843 if (UNTAG_Bool(variable[24])) { /*if*/
7844 variable[16] = variable[23] /*listnode7*/ /*listnode8=*/;
7845 } else { /*if*/
7846 CALL_abstract_collection___IndexedCollection___append( variable[16] /*listnode8*/)( variable[16] /*listnode8*/, variable[23] /*listnode7*/) /*IndexedCollection::append*/;
7847 }
7848 }
7849 variable[24] = variable[9] /*nodearraylist7*/;
7850 variable[25] = TAG_Bool(( variable[24] /*listnode9*/==NIT_NULL) || VAL_ISA( variable[24] /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7851 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4342); nit_exit(1);}
7852 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[24] /*listnode9*/ == NIT_NULL /*null*/) || (( variable[24] /*listnode9*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[24] /*listnode9*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[24] /*listnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[24] /*listnode9*/)( variable[24] /*listnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7853 if (UNTAG_Bool(variable[25])) { /*if*/
7854 variable[25] = CALL_abstract_collection___Collection___is_empty( variable[17] /*listnode10*/)( variable[17] /*listnode10*/) /*AbstractArray::is_empty*/;
7855 if (UNTAG_Bool(variable[25])) { /*if*/
7856 variable[17] = variable[24] /*listnode9*/ /*listnode10=*/;
7857 } else { /*if*/
7858 CALL_abstract_collection___IndexedCollection___append( variable[17] /*listnode10*/)( variable[17] /*listnode10*/, variable[24] /*listnode9*/) /*IndexedCollection::append*/;
7859 }
7860 }
7861 variable[25] = variable[8] /*nodearraylist8*/;
7862 variable[26] = TAG_Bool(( variable[25] /*ppropdefnode11*/==NIT_NULL) || VAL_ISA( variable[25] /*ppropdefnode11*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7863 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4351); nit_exit(1);}
7864 variable[26] = variable[6] /*nodearraylist10*/;
7865 variable[27] = TAG_Bool(( variable[26] /*listnode12*/==NIT_NULL) || VAL_ISA( variable[26] /*listnode12*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7866 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4353); nit_exit(1);}
7867 variable[27] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[25] /*ppropdefnode11*/ == NIT_NULL /*null*/) || (( variable[25] /*ppropdefnode11*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[25] /*ppropdefnode11*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[25] /*ppropdefnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[25] /*ppropdefnode11*/)( variable[25] /*ppropdefnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7868 if (UNTAG_Bool(variable[27])) { /*if*/
7869 CALL_abstract_collection___SimpleCollection___add( variable[18] /*listnode13*/)( variable[18] /*listnode13*/, variable[25] /*ppropdefnode11*/) /*AbstractArray::add*/;
7870 }
7871 variable[27] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[26] /*listnode12*/ == NIT_NULL /*null*/) || (( variable[26] /*listnode12*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[26] /*listnode12*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[26] /*listnode12*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[26] /*listnode12*/)( variable[26] /*listnode12*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7872 if (UNTAG_Bool(variable[27])) { /*if*/
7873 variable[27] = CALL_abstract_collection___Collection___is_empty( variable[18] /*listnode13*/)( variable[18] /*listnode13*/) /*AbstractArray::is_empty*/;
7874 if (UNTAG_Bool(variable[27])) { /*if*/
7875 variable[18] = variable[26] /*listnode12*/ /*listnode13=*/;
7876 } else { /*if*/
7877 CALL_abstract_collection___IndexedCollection___append( variable[18] /*listnode13*/)( variable[18] /*listnode13*/, variable[26] /*listnode12*/) /*IndexedCollection::append*/;
7878 }
7879 }
7880 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*/
7881 variable[27] = variable[28];
7882 variable[3] = variable[27] /*pclassdefnode1*/ /*node_list=*/;
7883 variable[28] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7884 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[28], variable[3] /*node_list*/) /*Parser::push*/;
7885 return_label184: while(false);
7886 tracehead = trace.prev;
7887 return;
7888 }
7889 void parser___ReduceAction76___init(val_t self, int* init_table) {
7890 struct trace_t trace = {NULL, NULL, 4377, LOCATE_parser___ReduceAction76___init};
7891 val_t variable[2];
7892 void **closurevariable = NULL;
7893 trace.prev = tracehead; tracehead = &trace;
7894 trace.file = LOCATE_parser;
7895 variable[0] = self;
7896 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction76].i]) return;
7897 return_label185: while(false);
7898 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction76].i] = 1;
7899 tracehead = trace.prev;
7900 return;
7901 }
7902 void parser___ReduceAction77___action(val_t self, val_t param0) {
7903 struct trace_t trace = {NULL, NULL, 4381, LOCATE_parser___ReduceAction77___action};
7904 val_t variable[29];
7905 void **closurevariable = NULL;
7906 trace.prev = tracehead; tracehead = &trace;
7907 trace.file = LOCATE_parser;
7908 variable[0] = self;
7909 variable[1] = param0;
7910 variable[3] = NIT_NULL /*null*/;
7911 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7912 variable[4] = variable[5];
7913 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7914 variable[5] = variable[6];
7915 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7916 variable[6] = variable[7];
7917 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7918 variable[7] = variable[8];
7919 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7920 variable[8] = variable[9];
7921 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7922 variable[9] = variable[10];
7923 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7924 variable[10] = variable[11];
7925 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7926 variable[11] = variable[12];
7927 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7928 variable[12] = variable[13];
7929 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7930 variable[13] = variable[14];
7931 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7932 variable[14] = variable[15];
7933 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7934 variable[15] = variable[16];
7935 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7936 variable[16] = variable[17];
7937 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7938 variable[17] = variable[18];
7939 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7940 variable[18] = variable[19];
7941 variable[19] = variable[15] /*nodearraylist1*/;
7942 variable[20] = TAG_Bool(( variable[19] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[19] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7943 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4400); nit_exit(1);}
7944 variable[20] = variable[14] /*nodearraylist2*/;
7945 variable[21] = TAG_Bool(( variable[20] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
7946 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4402); nit_exit(1);}
7947 variable[21] = variable[13] /*nodearraylist3*/;
7948 variable[22] = TAG_Bool(( variable[21] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[21] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7949 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4404); nit_exit(1);}
7950 variable[22] = variable[12] /*nodearraylist4*/;
7951 variable[23] = TAG_Bool(( variable[22] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[22] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7952 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4406); nit_exit(1);}
7953 variable[23] = variable[10] /*nodearraylist6*/;
7954 variable[24] = TAG_Bool(( variable[23] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[23] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7955 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4408); nit_exit(1);}
7956 variable[24] = variable[9] /*nodearraylist7*/;
7957 variable[25] = TAG_Bool(( variable[24] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[24] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7958 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4410); nit_exit(1);}
7959 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[24] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[24] /*listnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[24] /*listnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[24] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[24] /*listnode7*/)( variable[24] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7960 if (UNTAG_Bool(variable[25])) { /*if*/
7961 variable[25] = CALL_abstract_collection___Collection___is_empty( variable[16] /*listnode8*/)( variable[16] /*listnode8*/) /*AbstractArray::is_empty*/;
7962 if (UNTAG_Bool(variable[25])) { /*if*/
7963 variable[16] = variable[24] /*listnode7*/ /*listnode8=*/;
7964 } else { /*if*/
7965 CALL_abstract_collection___IndexedCollection___append( variable[16] /*listnode8*/)( variable[16] /*listnode8*/, variable[24] /*listnode7*/) /*IndexedCollection::append*/;
7966 }
7967 }
7968 variable[25] = variable[8] /*nodearraylist8*/;
7969 variable[26] = TAG_Bool(( variable[25] /*listnode9*/==NIT_NULL) || VAL_ISA( variable[25] /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7970 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4419); nit_exit(1);}
7971 variable[26] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[25] /*listnode9*/ == NIT_NULL /*null*/) || (( variable[25] /*listnode9*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[25] /*listnode9*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[25] /*listnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[25] /*listnode9*/)( variable[25] /*listnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7972 if (UNTAG_Bool(variable[26])) { /*if*/
7973 variable[26] = CALL_abstract_collection___Collection___is_empty( variable[17] /*listnode10*/)( variable[17] /*listnode10*/) /*AbstractArray::is_empty*/;
7974 if (UNTAG_Bool(variable[26])) { /*if*/
7975 variable[17] = variable[25] /*listnode9*/ /*listnode10=*/;
7976 } else { /*if*/
7977 CALL_abstract_collection___IndexedCollection___append( variable[17] /*listnode10*/)( variable[17] /*listnode10*/, variable[25] /*listnode9*/) /*IndexedCollection::append*/;
7978 }
7979 }
7980 variable[26] = variable[7] /*nodearraylist9*/;
7981 variable[27] = TAG_Bool(( variable[26] /*ppropdefnode11*/==NIT_NULL) || VAL_ISA( variable[26] /*ppropdefnode11*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7982 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4428); nit_exit(1);}
7983 variable[27] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[26] /*ppropdefnode11*/ == NIT_NULL /*null*/) || (( variable[26] /*ppropdefnode11*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[26] /*ppropdefnode11*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[26] /*ppropdefnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[26] /*ppropdefnode11*/)( variable[26] /*ppropdefnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7984 if (UNTAG_Bool(variable[27])) { /*if*/
7985 CALL_abstract_collection___SimpleCollection___add( variable[18] /*listnode12*/)( variable[18] /*listnode12*/, variable[26] /*ppropdefnode11*/) /*AbstractArray::add*/;
7986 }
7987 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*/
7988 variable[27] = variable[28];
7989 variable[3] = variable[27] /*pclassdefnode1*/ /*node_list=*/;
7990 variable[28] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7991 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[28], variable[3] /*node_list*/) /*Parser::push*/;
7992 return_label186: while(false);
7993 tracehead = trace.prev;
7994 return;
7995 }
7996 void parser___ReduceAction77___init(val_t self, int* init_table) {
7997 struct trace_t trace = {NULL, NULL, 4445, LOCATE_parser___ReduceAction77___init};
7998 val_t variable[2];
7999 void **closurevariable = NULL;
8000 trace.prev = tracehead; tracehead = &trace;
8001 trace.file = LOCATE_parser;
8002 variable[0] = self;
8003 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction77].i]) return;
8004 return_label187: while(false);
8005 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction77].i] = 1;
8006 tracehead = trace.prev;
8007 return;
8008 }
8009 void parser___ReduceAction78___action(val_t self, val_t param0) {
8010 struct trace_t trace = {NULL, NULL, 4449, LOCATE_parser___ReduceAction78___action};
8011 val_t variable[31];
8012 void **closurevariable = NULL;
8013 trace.prev = tracehead; tracehead = &trace;
8014 trace.file = LOCATE_parser;
8015 variable[0] = self;
8016 variable[1] = param0;
8017 variable[3] = NIT_NULL /*null*/;
8018 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8019 variable[4] = variable[5];
8020 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8021 variable[5] = variable[6];
8022 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8023 variable[6] = variable[7];
8024 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8025 variable[7] = variable[8];
8026 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8027 variable[8] = variable[9];
8028 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8029 variable[9] = variable[10];
8030 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8031 variable[10] = variable[11];
8032 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8033 variable[11] = variable[12];
8034 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8035 variable[12] = variable[13];
8036 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8037 variable[13] = variable[14];
8038 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8039 variable[14] = variable[15];
8040 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8041 variable[15] = variable[16];
8042 variable[17] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8043 variable[16] = variable[17];
8044 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
8045 variable[17] = variable[18];
8046 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
8047 variable[18] = variable[19];
8048 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
8049 variable[19] = variable[20];
8050 variable[20] = variable[16] /*nodearraylist1*/;
8051 variable[21] = TAG_Bool(( variable[20] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[20] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
8052 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4469); nit_exit(1);}
8053 variable[21] = variable[15] /*nodearraylist2*/;
8054 variable[22] = TAG_Bool(( variable[21] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
8055 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4471); nit_exit(1);}
8056 variable[22] = variable[14] /*nodearraylist3*/;
8057 variable[23] = TAG_Bool(( variable[22] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[22] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
8058 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4473); nit_exit(1);}
8059 variable[23] = variable[13] /*nodearraylist4*/;
8060 variable[24] = TAG_Bool(( variable[23] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[23] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
8061 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4475); nit_exit(1);}
8062 variable[24] = variable[11] /*nodearraylist6*/;
8063 variable[25] = TAG_Bool(( variable[24] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[24] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
8064 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4477); nit_exit(1);}
8065 variable[25] = variable[10] /*nodearraylist7*/;
8066 variable[26] = TAG_Bool(( variable[25] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[25] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8067 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4479); nit_exit(1);}
8068 variable[26] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[25] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[25] /*listnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[25] /*listnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[25] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[25] /*listnode7*/)( variable[25] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8069 if (UNTAG_Bool(variable[26])) { /*if*/
8070 variable[26] = CALL_abstract_collection___Collection___is_empty( variable[17] /*listnode8*/)( variable[17] /*listnode8*/) /*AbstractArray::is_empty*/;
8071 if (UNTAG_Bool(variable[26])) { /*if*/
8072 variable[17] = variable[25] /*listnode7*/ /*listnode8=*/;
8073 } else { /*if*/
8074 CALL_abstract_collection___IndexedCollection___append( variable[17] /*listnode8*/)( variable[17] /*listnode8*/, variable[25] /*listnode7*/) /*IndexedCollection::append*/;
8075 }
8076 }
8077 variable[26] = variable[9] /*nodearraylist8*/;
8078 variable[27] = TAG_Bool(( variable[26] /*listnode9*/==NIT_NULL) || VAL_ISA( variable[26] /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8079 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4488); nit_exit(1);}
8080 variable[27] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[26] /*listnode9*/ == NIT_NULL /*null*/) || (( variable[26] /*listnode9*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[26] /*listnode9*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[26] /*listnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[26] /*listnode9*/)( variable[26] /*listnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8081 if (UNTAG_Bool(variable[27])) { /*if*/
8082 variable[27] = CALL_abstract_collection___Collection___is_empty( variable[18] /*listnode10*/)( variable[18] /*listnode10*/) /*AbstractArray::is_empty*/;
8083 if (UNTAG_Bool(variable[27])) { /*if*/
8084 variable[18] = variable[26] /*listnode9*/ /*listnode10=*/;
8085 } else { /*if*/
8086 CALL_abstract_collection___IndexedCollection___append( variable[18] /*listnode10*/)( variable[18] /*listnode10*/, variable[26] /*listnode9*/) /*IndexedCollection::append*/;
8087 }
8088 }
8089 variable[27] = variable[8] /*nodearraylist9*/;
8090 variable[28] = TAG_Bool(( variable[27] /*ppropdefnode11*/==NIT_NULL) || VAL_ISA( variable[27] /*ppropdefnode11*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
8091 if (!UNTAG_Bool(variable[28])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4497); nit_exit(1);}
8092 variable[28] = variable[6] /*nodearraylist11*/;
8093 variable[29] = TAG_Bool(( variable[28] /*listnode12*/==NIT_NULL) || VAL_ISA( variable[28] /*listnode12*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8094 if (!UNTAG_Bool(variable[29])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4499); nit_exit(1);}
8095 variable[29] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[27] /*ppropdefnode11*/ == NIT_NULL /*null*/) || (( variable[27] /*ppropdefnode11*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[27] /*ppropdefnode11*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[27] /*ppropdefnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[27] /*ppropdefnode11*/)( variable[27] /*ppropdefnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8096 if (UNTAG_Bool(variable[29])) { /*if*/
8097 CALL_abstract_collection___SimpleCollection___add( variable[19] /*listnode13*/)( variable[19] /*listnode13*/, variable[27] /*ppropdefnode11*/) /*AbstractArray::add*/;
8098 }
8099 variable[29] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[28] /*listnode12*/ == NIT_NULL /*null*/) || (( variable[28] /*listnode12*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[28] /*listnode12*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[28] /*listnode12*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[28] /*listnode12*/)( variable[28] /*listnode12*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8100 if (UNTAG_Bool(variable[29])) { /*if*/
8101 variable[29] = CALL_abstract_collection___Collection___is_empty( variable[19] /*listnode13*/)( variable[19] /*listnode13*/) /*AbstractArray::is_empty*/;
8102 if (UNTAG_Bool(variable[29])) { /*if*/
8103 variable[19] = variable[28] /*listnode12*/ /*listnode13=*/;
8104 } else { /*if*/
8105 CALL_abstract_collection___IndexedCollection___append( variable[19] /*listnode13*/)( variable[19] /*listnode13*/, variable[28] /*listnode12*/) /*IndexedCollection::append*/;
8106 }
8107 }
8108 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*/
8109 variable[29] = variable[30];
8110 variable[3] = variable[29] /*pclassdefnode1*/ /*node_list=*/;
8111 variable[30] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
8112 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[30], variable[3] /*node_list*/) /*Parser::push*/;
8113 return_label188: while(false);
8114 tracehead = trace.prev;
8115 return;
8116 }
8117 void parser___ReduceAction78___init(val_t self, int* init_table) {
8118 struct trace_t trace = {NULL, NULL, 4523, LOCATE_parser___ReduceAction78___init};
8119 val_t variable[2];
8120 void **closurevariable = NULL;
8121 trace.prev = tracehead; tracehead = &trace;
8122 trace.file = LOCATE_parser;
8123 variable[0] = self;
8124 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction78].i]) return;
8125 return_label189: while(false);
8126 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction78].i] = 1;
8127 tracehead = trace.prev;
8128 return;
8129 }
8130 void parser___ReduceAction79___action(val_t self, val_t param0) {
8131 struct trace_t trace = {NULL, NULL, 4527, LOCATE_parser___ReduceAction79___action};
8132 val_t variable[8];
8133 void **closurevariable = NULL;
8134 trace.prev = tracehead; tracehead = &trace;
8135 trace.file = LOCATE_parser;
8136 variable[0] = self;
8137 variable[1] = param0;
8138 variable[3] = NIT_NULL /*null*/;
8139 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8140 variable[4] = variable[5];
8141 variable[5] = variable[4] /*nodearraylist1*/;
8142 variable[6] = TAG_Bool(( variable[5] /*tkwclassnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwclassnode2*/, COLOR_TKwclass, ID_TKwclass)) /*cast TKwclass*/;
8143 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction79___action, LOCATE_parser, 4532); nit_exit(1);}
8144 variable[7] = NEW_AConcreteClasskind_parser_prod___AConcreteClasskind___init_aconcreteclasskind( variable[5] /*tkwclassnode2*/); /*new AConcreteClasskind*/
8145 variable[6] = variable[7];
8146 variable[3] = variable[6] /*pclasskindnode1*/ /*node_list=*/;
8147 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(6)) /*Parser::go_to*/;
8148 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
8149 return_label190: while(false);
8150 tracehead = trace.prev;
8151 return;
8152 }
8153 void parser___ReduceAction79___init(val_t self, int* init_table) {
8154 struct trace_t trace = {NULL, NULL, 4539, LOCATE_parser___ReduceAction79___init};
8155 val_t variable[2];
8156 void **closurevariable = NULL;
8157 trace.prev = tracehead; tracehead = &trace;
8158 trace.file = LOCATE_parser;
8159 variable[0] = self;
8160 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction79].i]) return;
8161 return_label191: while(false);
8162 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction79].i] = 1;
8163 tracehead = trace.prev;
8164 return;
8165 }
8166 void parser___ReduceAction80___action(val_t self, val_t param0) {
8167 struct trace_t trace = {NULL, NULL, 4543, LOCATE_parser___ReduceAction80___action};
8168 val_t variable[10];
8169 void **closurevariable = NULL;
8170 trace.prev = tracehead; tracehead = &trace;
8171 trace.file = LOCATE_parser;
8172 variable[0] = self;
8173 variable[1] = param0;
8174 variable[3] = NIT_NULL /*null*/;
8175 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8176 variable[4] = variable[5];
8177 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8178 variable[5] = variable[6];
8179 variable[6] = variable[5] /*nodearraylist1*/;
8180 variable[7] = TAG_Bool(( variable[6] /*tkwabstractnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwabstractnode2*/, COLOR_TKwabstract, ID_TKwabstract)) /*cast TKwabstract*/;
8181 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction80___action, LOCATE_parser, 4549); nit_exit(1);}
8182 variable[7] = variable[4] /*nodearraylist2*/;
8183 variable[8] = TAG_Bool(( variable[7] /*tkwclassnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwclassnode3*/, COLOR_TKwclass, ID_TKwclass)) /*cast TKwclass*/;
8184 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction80___action, LOCATE_parser, 4551); nit_exit(1);}
8185 variable[9] = NEW_AAbstractClasskind_parser_prod___AAbstractClasskind___init_aabstractclasskind( variable[6] /*tkwabstractnode2*/, variable[7] /*tkwclassnode3*/); /*new AAbstractClasskind*/
8186 variable[8] = variable[9];
8187 variable[3] = variable[8] /*pclasskindnode1*/ /*node_list=*/;
8188 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(6)) /*Parser::go_to*/;
8189 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
8190 return_label192: while(false);
8191 tracehead = trace.prev;
8192 return;
8193 }
8194 void parser___ReduceAction80___init(val_t self, int* init_table) {
8195 struct trace_t trace = {NULL, NULL, 4559, LOCATE_parser___ReduceAction80___init};
8196 val_t variable[2];
8197 void **closurevariable = NULL;
8198 trace.prev = tracehead; tracehead = &trace;
8199 trace.file = LOCATE_parser;
8200 variable[0] = self;
8201 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction80].i]) return;
8202 return_label193: while(false);
8203 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction80].i] = 1;
8204 tracehead = trace.prev;
8205 return;
8206 }
8207 void parser___ReduceAction81___action(val_t self, val_t param0) {
8208 struct trace_t trace = {NULL, NULL, 4563, LOCATE_parser___ReduceAction81___action};
8209 val_t variable[8];
8210 void **closurevariable = NULL;
8211 trace.prev = tracehead; tracehead = &trace;
8212 trace.file = LOCATE_parser;
8213 variable[0] = self;
8214 variable[1] = param0;
8215 variable[3] = NIT_NULL /*null*/;
8216 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8217 variable[4] = variable[5];
8218 variable[5] = variable[4] /*nodearraylist1*/;
8219 variable[6] = TAG_Bool(( variable[5] /*tkwinterfacenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwinterfacenode2*/, COLOR_TKwinterface, ID_TKwinterface)) /*cast TKwinterface*/;
8220 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction81___action, LOCATE_parser, 4568); nit_exit(1);}
8221 variable[7] = NEW_AInterfaceClasskind_parser_prod___AInterfaceClasskind___init_ainterfaceclasskind( variable[5] /*tkwinterfacenode2*/); /*new AInterfaceClasskind*/
8222 variable[6] = variable[7];
8223 variable[3] = variable[6] /*pclasskindnode1*/ /*node_list=*/;
8224 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(6)) /*Parser::go_to*/;
8225 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
8226 return_label194: while(false);
8227 tracehead = trace.prev;
8228 return;
8229 }
8230 void parser___ReduceAction81___init(val_t self, int* init_table) {
8231 struct trace_t trace = {NULL, NULL, 4575, LOCATE_parser___ReduceAction81___init};
8232 val_t variable[2];
8233 void **closurevariable = NULL;
8234 trace.prev = tracehead; tracehead = &trace;
8235 trace.file = LOCATE_parser;
8236 variable[0] = self;
8237 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction81].i]) return;
8238 return_label195: while(false);
8239 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction81].i] = 1;
8240 tracehead = trace.prev;
8241 return;
8242 }
8243 void parser___ReduceAction82___action(val_t self, val_t param0) {
8244 struct trace_t trace = {NULL, NULL, 4579, LOCATE_parser___ReduceAction82___action};
8245 val_t variable[8];
8246 void **closurevariable = NULL;
8247 trace.prev = tracehead; tracehead = &trace;
8248 trace.file = LOCATE_parser;
8249 variable[0] = self;
8250 variable[1] = param0;
8251 variable[3] = NIT_NULL /*null*/;
8252 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8253 variable[4] = variable[5];
8254 variable[5] = variable[4] /*nodearraylist1*/;
8255 variable[6] = TAG_Bool(( variable[5] /*tkwuniversalnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwuniversalnode2*/, COLOR_TKwuniversal, ID_TKwuniversal)) /*cast TKwuniversal*/;
8256 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction82___action, LOCATE_parser, 4584); nit_exit(1);}
8257 variable[7] = NEW_AUniversalClasskind_parser_prod___AUniversalClasskind___init_auniversalclasskind( variable[5] /*tkwuniversalnode2*/); /*new AUniversalClasskind*/
8258 variable[6] = variable[7];
8259 variable[3] = variable[6] /*pclasskindnode1*/ /*node_list=*/;
8260 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(6)) /*Parser::go_to*/;
8261 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
8262 return_label196: while(false);
8263 tracehead = trace.prev;
8264 return;
8265 }
8266 void parser___ReduceAction82___init(val_t self, int* init_table) {
8267 struct trace_t trace = {NULL, NULL, 4591, LOCATE_parser___ReduceAction82___init};
8268 val_t variable[2];
8269 void **closurevariable = NULL;
8270 trace.prev = tracehead; tracehead = &trace;
8271 trace.file = LOCATE_parser;
8272 variable[0] = self;
8273 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction82].i]) return;
8274 return_label197: while(false);
8275 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction82].i] = 1;
8276 tracehead = trace.prev;
8277 return;
8278 }
8279 void parser___ReduceAction83___action(val_t self, val_t param0) {
8280 struct trace_t trace = {NULL, NULL, 4595, LOCATE_parser___ReduceAction83___action};
8281 val_t variable[12];
8282 void **closurevariable = NULL;
8283 trace.prev = tracehead; tracehead = &trace;
8284 trace.file = LOCATE_parser;
8285 variable[0] = self;
8286 variable[1] = param0;
8287 variable[3] = NIT_NULL /*null*/;
8288 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8289 variable[4] = variable[5];
8290 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8291 variable[5] = variable[6];
8292 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8293 variable[6] = variable[7];
8294 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8295 variable[7] = variable[8];
8296 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8297 variable[8] = variable[9];
8298 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
8299 variable[9] = variable[10];
8300 variable[10] = variable[6] /*nodearraylist3*/;
8301 variable[11] = TAG_Bool(( variable[10] /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable[10] /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
8302 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction83___action, LOCATE_parser, 4605); nit_exit(1);}
8303 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*pformaldefnode1*/ == NIT_NULL /*null*/) || (( variable[10] /*pformaldefnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*pformaldefnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*pformaldefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*pformaldefnode1*/)( variable[10] /*pformaldefnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8304 if (UNTAG_Bool(variable[11])) { /*if*/
8305 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode2*/)( variable[9] /*listnode2*/, variable[10] /*pformaldefnode1*/) /*AbstractArray::add*/;
8306 }
8307 variable[3] = variable[9] /*listnode2*/ /*node_list=*/;
8308 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(7)) /*Parser::go_to*/;
8309 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
8310 return_label198: while(false);
8311 tracehead = trace.prev;
8312 return;
8313 }
8314 void parser___ReduceAction83___init(val_t self, int* init_table) {
8315 struct trace_t trace = {NULL, NULL, 4612, LOCATE_parser___ReduceAction83___init};
8316 val_t variable[2];
8317 void **closurevariable = NULL;
8318 trace.prev = tracehead; tracehead = &trace;
8319 trace.file = LOCATE_parser;
8320 variable[0] = self;
8321 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction83].i]) return;
8322 return_label199: while(false);
8323 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction83].i] = 1;
8324 tracehead = trace.prev;
8325 return;
8326 }
8327 void parser___ReduceAction84___action(val_t self, val_t param0) {
8328 struct trace_t trace = {NULL, NULL, 4616, LOCATE_parser___ReduceAction84___action};
8329 val_t variable[14];
8330 void **closurevariable = NULL;
8331 trace.prev = tracehead; tracehead = &trace;
8332 trace.file = LOCATE_parser;
8333 variable[0] = self;
8334 variable[1] = param0;
8335 variable[3] = NIT_NULL /*null*/;
8336 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8337 variable[4] = variable[5];
8338 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8339 variable[5] = variable[6];
8340 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8341 variable[6] = variable[7];
8342 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8343 variable[7] = variable[8];
8344 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8345 variable[8] = variable[9];
8346 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8347 variable[9] = variable[10];
8348 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
8349 variable[10] = variable[11];
8350 variable[11] = variable[7] /*nodearraylist3*/;
8351 variable[12] = TAG_Bool(( variable[11] /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable[11] /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
8352 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction84___action, LOCATE_parser, 4627); nit_exit(1);}
8353 variable[12] = variable[6] /*nodearraylist4*/;
8354 variable[13] = TAG_Bool(( variable[12] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8355 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction84___action, LOCATE_parser, 4629); nit_exit(1);}
8356 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*pformaldefnode1*/ == NIT_NULL /*null*/) || (( variable[11] /*pformaldefnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*pformaldefnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*pformaldefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*pformaldefnode1*/)( variable[11] /*pformaldefnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8357 if (UNTAG_Bool(variable[13])) { /*if*/
8358 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, variable[11] /*pformaldefnode1*/) /*AbstractArray::add*/;
8359 }
8360 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode2*/)( variable[12] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8361 if (UNTAG_Bool(variable[13])) { /*if*/
8362 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode3*/)( variable[10] /*listnode3*/) /*AbstractArray::is_empty*/;
8363 if (UNTAG_Bool(variable[13])) { /*if*/
8364 variable[10] = variable[12] /*listnode2*/ /*listnode3=*/;
8365 } else { /*if*/
8366 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, variable[12] /*listnode2*/) /*IndexedCollection::append*/;
8367 }
8368 }
8369 variable[3] = variable[10] /*listnode3*/ /*node_list=*/;
8370 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(7)) /*Parser::go_to*/;
8371 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
8372 return_label200: while(false);
8373 tracehead = trace.prev;
8374 return;
8375 }
8376 void parser___ReduceAction84___init(val_t self, int* init_table) {
8377 struct trace_t trace = {NULL, NULL, 4643, LOCATE_parser___ReduceAction84___init};
8378 val_t variable[2];
8379 void **closurevariable = NULL;
8380 trace.prev = tracehead; tracehead = &trace;
8381 trace.file = LOCATE_parser;
8382 variable[0] = self;
8383 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction84].i]) return;
8384 return_label201: while(false);
8385 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction84].i] = 1;
8386 tracehead = trace.prev;
8387 return;
8388 }
8389 void parser___ReduceAction85___action(val_t self, val_t param0) {
8390 struct trace_t trace = {NULL, NULL, 4647, LOCATE_parser___ReduceAction85___action};
8391 val_t variable[9];
8392 void **closurevariable = NULL;
8393 trace.prev = tracehead; tracehead = &trace;
8394 trace.file = LOCATE_parser;
8395 variable[0] = self;
8396 variable[1] = param0;
8397 variable[3] = NIT_NULL /*null*/;
8398 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8399 variable[4] = variable[5];
8400 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8401 variable[5] = variable[6];
8402 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8403 variable[6] = variable[7];
8404 variable[7] = variable[4] /*nodearraylist3*/;
8405 variable[8] = TAG_Bool(( variable[7] /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
8406 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction85___action, LOCATE_parser, 4654); nit_exit(1);}
8407 variable[3] = variable[7] /*pformaldefnode1*/ /*node_list=*/;
8408 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(8)) /*Parser::go_to*/;
8409 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
8410 return_label202: while(false);
8411 tracehead = trace.prev;
8412 return;
8413 }
8414 void parser___ReduceAction85___init(val_t self, int* init_table) {
8415 struct trace_t trace = {NULL, NULL, 4658, LOCATE_parser___ReduceAction85___init};
8416 val_t variable[2];
8417 void **closurevariable = NULL;
8418 trace.prev = tracehead; tracehead = &trace;
8419 trace.file = LOCATE_parser;
8420 variable[0] = self;
8421 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction85].i]) return;
8422 return_label203: while(false);
8423 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction85].i] = 1;
8424 tracehead = trace.prev;
8425 return;
8426 }
8427 void parser___ReduceAction86___action(val_t self, val_t param0) {
8428 struct trace_t trace = {NULL, NULL, 4662, LOCATE_parser___ReduceAction86___action};
8429 val_t variable[8];
8430 void **closurevariable = NULL;
8431 trace.prev = tracehead; tracehead = &trace;
8432 trace.file = LOCATE_parser;
8433 variable[0] = self;
8434 variable[1] = param0;
8435 variable[3] = NIT_NULL /*null*/;
8436 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8437 variable[4] = variable[5];
8438 variable[5] = variable[4] /*nodearraylist1*/;
8439 variable[6] = TAG_Bool(( variable[5] /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
8440 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction86___action, LOCATE_parser, 4667); nit_exit(1);}
8441 variable[7] = NEW_AFormaldef_parser_prod___AFormaldef___init_aformaldef( variable[5] /*tclassidnode2*/, NIT_NULL /*null*/); /*new AFormaldef*/
8442 variable[6] = variable[7];
8443 variable[3] = variable[6] /*pformaldefnode1*/ /*node_list=*/;
8444 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(9)) /*Parser::go_to*/;
8445 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
8446 return_label204: while(false);
8447 tracehead = trace.prev;
8448 return;
8449 }
8450 void parser___ReduceAction86___init(val_t self, int* init_table) {
8451 struct trace_t trace = {NULL, NULL, 4675, LOCATE_parser___ReduceAction86___init};
8452 val_t variable[2];
8453 void **closurevariable = NULL;
8454 trace.prev = tracehead; tracehead = &trace;
8455 trace.file = LOCATE_parser;
8456 variable[0] = self;
8457 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction86].i]) return;
8458 return_label205: while(false);
8459 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction86].i] = 1;
8460 tracehead = trace.prev;
8461 return;
8462 }
8463 void parser___ReduceAction87___action(val_t self, val_t param0) {
8464 struct trace_t trace = {NULL, NULL, 4679, LOCATE_parser___ReduceAction87___action};
8465 val_t variable[10];
8466 void **closurevariable = NULL;
8467 trace.prev = tracehead; tracehead = &trace;
8468 trace.file = LOCATE_parser;
8469 variable[0] = self;
8470 variable[1] = param0;
8471 variable[3] = NIT_NULL /*null*/;
8472 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8473 variable[4] = variable[5];
8474 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8475 variable[5] = variable[6];
8476 variable[6] = variable[5] /*nodearraylist1*/;
8477 variable[7] = TAG_Bool(( variable[6] /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
8478 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction87___action, LOCATE_parser, 4685); nit_exit(1);}
8479 variable[7] = variable[4] /*nodearraylist2*/;
8480 variable[8] = TAG_Bool(( variable[7] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[7] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
8481 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction87___action, LOCATE_parser, 4687); nit_exit(1);}
8482 variable[9] = NEW_AFormaldef_parser_prod___AFormaldef___init_aformaldef( variable[6] /*tclassidnode2*/, variable[7] /*ptypenode3*/); /*new AFormaldef*/
8483 variable[8] = variable[9];
8484 variable[3] = variable[8] /*pformaldefnode1*/ /*node_list=*/;
8485 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(9)) /*Parser::go_to*/;
8486 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
8487 return_label206: while(false);
8488 tracehead = trace.prev;
8489 return;
8490 }
8491 void parser___ReduceAction87___init(val_t self, int* init_table) {
8492 struct trace_t trace = {NULL, NULL, 4695, LOCATE_parser___ReduceAction87___init};
8493 val_t variable[2];
8494 void **closurevariable = NULL;
8495 trace.prev = tracehead; tracehead = &trace;
8496 trace.file = LOCATE_parser;
8497 variable[0] = self;
8498 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction87].i]) return;
8499 return_label207: while(false);
8500 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction87].i] = 1;
8501 tracehead = trace.prev;
8502 return;
8503 }
8504 void parser___ReduceAction88___action(val_t self, val_t param0) {
8505 struct trace_t trace = {NULL, NULL, 4699, LOCATE_parser___ReduceAction88___action};
8506 val_t variable[12];
8507 void **closurevariable = NULL;
8508 trace.prev = tracehead; tracehead = &trace;
8509 trace.file = LOCATE_parser;
8510 variable[0] = self;
8511 variable[1] = param0;
8512 variable[3] = NIT_NULL /*null*/;
8513 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8514 variable[4] = variable[5];
8515 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8516 variable[5] = variable[6];
8517 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8518 variable[6] = variable[7];
8519 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8520 variable[7] = variable[8];
8521 variable[8] = variable[6] /*nodearraylist2*/;
8522 variable[9] = TAG_Bool(( variable[8] /*tkwspecialnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwspecialnode2*/, COLOR_TKwspecial, ID_TKwspecial)) /*cast TKwspecial*/;
8523 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction88___action, LOCATE_parser, 4707); nit_exit(1);}
8524 variable[9] = variable[4] /*nodearraylist4*/;
8525 variable[10] = TAG_Bool(( variable[9] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[9] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
8526 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction88___action, LOCATE_parser, 4709); nit_exit(1);}
8527 variable[11] = NEW_ASuperclass_parser_prod___ASuperclass___init_asuperclass( variable[8] /*tkwspecialnode2*/, variable[9] /*ptypenode3*/); /*new ASuperclass*/
8528 variable[10] = variable[11];
8529 variable[3] = variable[10] /*psuperclassnode1*/ /*node_list=*/;
8530 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(10)) /*Parser::go_to*/;
8531 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
8532 return_label208: while(false);
8533 tracehead = trace.prev;
8534 return;
8535 }
8536 void parser___ReduceAction88___init(val_t self, int* init_table) {
8537 struct trace_t trace = {NULL, NULL, 4717, LOCATE_parser___ReduceAction88___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(variable[0])->vft[INIT_TABLE_POS_ReduceAction88].i]) return;
8544 return_label209: while(false);
8545 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction88].i] = 1;
8546 tracehead = trace.prev;
8547 return;
8548 }
8549 void parser___ReduceAction89___action(val_t self, val_t param0) {
8550 struct trace_t trace = {NULL, NULL, 4721, LOCATE_parser___ReduceAction89___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] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8559 variable[4] = variable[5];
8560 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8561 variable[5] = variable[6];
8562 variable[6] = variable[5] /*nodearraylist1*/;
8563 variable[7] = TAG_Bool(( variable[6] /*ppropdefnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*ppropdefnode1*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
8564 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction89___action, LOCATE_parser, 4727); nit_exit(1);}
8565 variable[3] = variable[6] /*ppropdefnode1*/ /*node_list=*/;
8566 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(11)) /*Parser::go_to*/;
8567 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
8568 return_label210: while(false);
8569 tracehead = trace.prev;
8570 return;
8571 }
8572 void parser___ReduceAction89___init(val_t self, int* init_table) {
8573 struct trace_t trace = {NULL, NULL, 4731, LOCATE_parser___ReduceAction89___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(variable[0])->vft[INIT_TABLE_POS_ReduceAction89].i]) return;
8580 return_label211: while(false);
8581 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction89].i] = 1;
8582 tracehead = trace.prev;
8583 return;
8584 }
8585 void parser___ReduceAction90___action(val_t self, val_t param0) {
8586 struct trace_t trace = {NULL, NULL, 4735, LOCATE_parser___ReduceAction90___action};
8587 val_t variable[20];
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] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8595 variable[4] = variable[5];
8596 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8597 variable[5] = variable[6];
8598 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8599 variable[6] = variable[7];
8600 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8601 variable[7] = variable[8];
8602 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8603 variable[8] = variable[9];
8604 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8605 variable[9] = variable[10];
8606 variable[10] = variable[9] /*nodearraylist1*/;
8607 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
8608 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction90___action, LOCATE_parser, 4745); nit_exit(1);}
8609 variable[11] = variable[8] /*nodearraylist2*/;
8610 variable[12] = TAG_Bool(( variable[11] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
8611 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction90___action, LOCATE_parser, 4747); nit_exit(1);}
8612 variable[13] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[11] /*tkwreadablenode5*/); /*new AReadAble*/
8613 variable[12] = variable[13];
8614 variable[13] = variable[7] /*nodearraylist3*/;
8615 variable[14] = TAG_Bool(( variable[13] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
8616 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction90___action, LOCATE_parser, 4753); nit_exit(1);}
8617 variable[15] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[13] /*tkwwritablenode8*/); /*new AWriteAble*/
8618 variable[14] = variable[15];
8619 variable[15] = variable[6] /*nodearraylist4*/;
8620 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
8621 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction90___action, LOCATE_parser, 4759); nit_exit(1);}
8622 variable[16] = variable[5] /*nodearraylist5*/;
8623 variable[17] = TAG_Bool(( variable[16] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
8624 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction90___action, LOCATE_parser, 4761); nit_exit(1);}
8625 variable[17] = variable[4] /*nodearraylist6*/;
8626 variable[18] = TAG_Bool(( variable[17] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
8627 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction90___action, LOCATE_parser, 4763); nit_exit(1);}
8628 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*/
8629 variable[18] = variable[19];
8630 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
8631 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
8632 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
8633 return_label212: while(false);
8634 tracehead = trace.prev;
8635 return;
8636 }
8637 void parser___ReduceAction90___init(val_t self, int* init_table) {
8638 struct trace_t trace = {NULL, NULL, 4778, LOCATE_parser___ReduceAction90___init};
8639 val_t variable[2];
8640 void **closurevariable = NULL;
8641 trace.prev = tracehead; tracehead = &trace;
8642 trace.file = LOCATE_parser;
8643 variable[0] = self;
8644 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction90].i]) return;
8645 return_label213: while(false);
8646 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction90].i] = 1;
8647 tracehead = trace.prev;
8648 return;
8649 }
8650 void parser___ReduceAction91___action(val_t self, val_t param0) {
8651 struct trace_t trace = {NULL, NULL, 4782, LOCATE_parser___ReduceAction91___action};
8652 val_t variable[22];
8653 void **closurevariable = NULL;
8654 trace.prev = tracehead; tracehead = &trace;
8655 trace.file = LOCATE_parser;
8656 variable[0] = self;
8657 variable[1] = param0;
8658 variable[3] = NIT_NULL /*null*/;
8659 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8660 variable[4] = variable[5];
8661 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8662 variable[5] = variable[6];
8663 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8664 variable[6] = variable[7];
8665 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8666 variable[7] = variable[8];
8667 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8668 variable[8] = variable[9];
8669 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8670 variable[9] = variable[10];
8671 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8672 variable[10] = variable[11];
8673 variable[11] = variable[10] /*nodearraylist1*/;
8674 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
8675 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4793); nit_exit(1);}
8676 variable[12] = variable[9] /*nodearraylist2*/;
8677 variable[13] = TAG_Bool(( variable[12] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
8678 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4795); nit_exit(1);}
8679 variable[14] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[12] /*tkwreadablenode5*/); /*new AReadAble*/
8680 variable[13] = variable[14];
8681 variable[14] = variable[8] /*nodearraylist3*/;
8682 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
8683 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4801); nit_exit(1);}
8684 variable[15] = variable[7] /*nodearraylist4*/;
8685 variable[16] = TAG_Bool(( variable[15] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
8686 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4803); nit_exit(1);}
8687 variable[17] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[14] /*tkwredefnode7*/, variable[15] /*tkwwritablenode8*/); /*new AWriteAble*/
8688 variable[16] = variable[17];
8689 variable[17] = variable[6] /*nodearraylist5*/;
8690 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
8691 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4809); nit_exit(1);}
8692 variable[18] = variable[5] /*nodearraylist6*/;
8693 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
8694 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4811); nit_exit(1);}
8695 variable[19] = variable[4] /*nodearraylist7*/;
8696 variable[20] = TAG_Bool(( variable[19] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
8697 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4813); nit_exit(1);}
8698 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*/
8699 variable[20] = variable[21];
8700 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
8701 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
8702 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
8703 return_label214: while(false);
8704 tracehead = trace.prev;
8705 return;
8706 }
8707 void parser___ReduceAction91___init(val_t self, int* init_table) {
8708 struct trace_t trace = {NULL, NULL, 4828, LOCATE_parser___ReduceAction91___init};
8709 val_t variable[2];
8710 void **closurevariable = NULL;
8711 trace.prev = tracehead; tracehead = &trace;
8712 trace.file = LOCATE_parser;
8713 variable[0] = self;
8714 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction91].i]) return;
8715 return_label215: while(false);
8716 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction91].i] = 1;
8717 tracehead = trace.prev;
8718 return;
8719 }
8720 void parser___ReduceAction92___action(val_t self, val_t param0) {
8721 struct trace_t trace = {NULL, NULL, 4832, LOCATE_parser___ReduceAction92___action};
8722 val_t variable[17];
8723 void **closurevariable = NULL;
8724 trace.prev = tracehead; tracehead = &trace;
8725 trace.file = LOCATE_parser;
8726 variable[0] = self;
8727 variable[1] = param0;
8728 variable[3] = NIT_NULL /*null*/;
8729 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8730 variable[4] = variable[5];
8731 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8732 variable[5] = variable[6];
8733 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8734 variable[6] = variable[7];
8735 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8736 variable[7] = variable[8];
8737 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8738 variable[8] = variable[9];
8739 variable[9] = variable[8] /*nodearraylist1*/;
8740 variable[10] = TAG_Bool(( variable[9] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
8741 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction92___action, LOCATE_parser, 4841); nit_exit(1);}
8742 variable[10] = variable[7] /*nodearraylist2*/;
8743 variable[11] = TAG_Bool(( variable[10] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
8744 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction92___action, LOCATE_parser, 4843); nit_exit(1);}
8745 variable[12] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[10] /*tkwreadablenode5*/); /*new AReadAble*/
8746 variable[11] = variable[12];
8747 variable[12] = variable[6] /*nodearraylist3*/;
8748 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
8749 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction92___action, LOCATE_parser, 4849); nit_exit(1);}
8750 variable[13] = variable[5] /*nodearraylist4*/;
8751 variable[14] = TAG_Bool(( variable[13] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
8752 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction92___action, LOCATE_parser, 4851); nit_exit(1);}
8753 variable[14] = variable[4] /*nodearraylist5*/;
8754 variable[15] = TAG_Bool(( variable[14] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[14] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
8755 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction92___action, LOCATE_parser, 4853); nit_exit(1);}
8756 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*/
8757 variable[15] = variable[16];
8758 variable[3] = variable[15] /*ppropdefnode1*/ /*node_list=*/;
8759 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
8760 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
8761 return_label216: while(false);
8762 tracehead = trace.prev;
8763 return;
8764 }
8765 void parser___ReduceAction92___init(val_t self, int* init_table) {
8766 struct trace_t trace = {NULL, NULL, 4868, LOCATE_parser___ReduceAction92___init};
8767 val_t variable[2];
8768 void **closurevariable = NULL;
8769 trace.prev = tracehead; tracehead = &trace;
8770 trace.file = LOCATE_parser;
8771 variable[0] = self;
8772 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction92].i]) return;
8773 return_label217: while(false);
8774 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction92].i] = 1;
8775 tracehead = trace.prev;
8776 return;
8777 }
8778 void parser___ReduceAction93___action(val_t self, val_t param0) {
8779 struct trace_t trace = {NULL, NULL, 4872, LOCATE_parser___ReduceAction93___action};
8780 val_t variable[22];
8781 void **closurevariable = NULL;
8782 trace.prev = tracehead; tracehead = &trace;
8783 trace.file = LOCATE_parser;
8784 variable[0] = self;
8785 variable[1] = param0;
8786 variable[3] = NIT_NULL /*null*/;
8787 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8788 variable[4] = variable[5];
8789 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8790 variable[5] = variable[6];
8791 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8792 variable[6] = variable[7];
8793 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8794 variable[7] = variable[8];
8795 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8796 variable[8] = variable[9];
8797 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8798 variable[9] = variable[10];
8799 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8800 variable[10] = variable[11];
8801 variable[11] = variable[10] /*nodearraylist1*/;
8802 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
8803 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 4883); nit_exit(1);}
8804 variable[12] = variable[9] /*nodearraylist2*/;
8805 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
8806 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 4885); nit_exit(1);}
8807 variable[13] = variable[8] /*nodearraylist3*/;
8808 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
8809 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 4887); nit_exit(1);}
8810 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[12] /*tkwredefnode4*/, variable[13] /*tkwreadablenode5*/); /*new AReadAble*/
8811 variable[14] = variable[15];
8812 variable[15] = variable[7] /*nodearraylist4*/;
8813 variable[16] = TAG_Bool(( variable[15] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
8814 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 4893); nit_exit(1);}
8815 variable[17] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[15] /*tkwwritablenode8*/); /*new AWriteAble*/
8816 variable[16] = variable[17];
8817 variable[17] = variable[6] /*nodearraylist5*/;
8818 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
8819 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 4899); nit_exit(1);}
8820 variable[18] = variable[5] /*nodearraylist6*/;
8821 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
8822 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 4901); nit_exit(1);}
8823 variable[19] = variable[4] /*nodearraylist7*/;
8824 variable[20] = TAG_Bool(( variable[19] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
8825 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 4903); nit_exit(1);}
8826 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*/
8827 variable[20] = variable[21];
8828 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
8829 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
8830 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
8831 return_label218: while(false);
8832 tracehead = trace.prev;
8833 return;
8834 }
8835 void parser___ReduceAction93___init(val_t self, int* init_table) {
8836 struct trace_t trace = {NULL, NULL, 4918, LOCATE_parser___ReduceAction93___init};
8837 val_t variable[2];
8838 void **closurevariable = NULL;
8839 trace.prev = tracehead; tracehead = &trace;
8840 trace.file = LOCATE_parser;
8841 variable[0] = self;
8842 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction93].i]) return;
8843 return_label219: while(false);
8844 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction93].i] = 1;
8845 tracehead = trace.prev;
8846 return;
8847 }
8848 void parser___ReduceAction94___action(val_t self, val_t param0) {
8849 struct trace_t trace = {NULL, NULL, 4922, LOCATE_parser___ReduceAction94___action};
8850 val_t variable[24];
8851 void **closurevariable = NULL;
8852 trace.prev = tracehead; tracehead = &trace;
8853 trace.file = LOCATE_parser;
8854 variable[0] = self;
8855 variable[1] = param0;
8856 variable[3] = NIT_NULL /*null*/;
8857 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8858 variable[4] = variable[5];
8859 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8860 variable[5] = variable[6];
8861 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8862 variable[6] = variable[7];
8863 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8864 variable[7] = variable[8];
8865 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8866 variable[8] = variable[9];
8867 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8868 variable[9] = variable[10];
8869 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8870 variable[10] = variable[11];
8871 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8872 variable[11] = variable[12];
8873 variable[12] = variable[11] /*nodearraylist1*/;
8874 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
8875 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 4934); nit_exit(1);}
8876 variable[13] = variable[10] /*nodearraylist2*/;
8877 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
8878 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 4936); nit_exit(1);}
8879 variable[14] = variable[9] /*nodearraylist3*/;
8880 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
8881 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 4938); nit_exit(1);}
8882 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[13] /*tkwredefnode4*/, variable[14] /*tkwreadablenode5*/); /*new AReadAble*/
8883 variable[15] = variable[16];
8884 variable[16] = variable[8] /*nodearraylist4*/;
8885 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
8886 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 4944); nit_exit(1);}
8887 variable[17] = variable[7] /*nodearraylist5*/;
8888 variable[18] = TAG_Bool(( variable[17] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
8889 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 4946); nit_exit(1);}
8890 variable[19] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[16] /*tkwredefnode7*/, variable[17] /*tkwwritablenode8*/); /*new AWriteAble*/
8891 variable[18] = variable[19];
8892 variable[19] = variable[6] /*nodearraylist6*/;
8893 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
8894 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 4952); nit_exit(1);}
8895 variable[20] = variable[5] /*nodearraylist7*/;
8896 variable[21] = TAG_Bool(( variable[20] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
8897 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 4954); nit_exit(1);}
8898 variable[21] = variable[4] /*nodearraylist8*/;
8899 variable[22] = TAG_Bool(( variable[21] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[21] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
8900 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 4956); nit_exit(1);}
8901 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*/
8902 variable[22] = variable[23];
8903 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
8904 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
8905 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
8906 return_label220: while(false);
8907 tracehead = trace.prev;
8908 return;
8909 }
8910 void parser___ReduceAction94___init(val_t self, int* init_table) {
8911 struct trace_t trace = {NULL, NULL, 4971, LOCATE_parser___ReduceAction94___init};
8912 val_t variable[2];
8913 void **closurevariable = NULL;
8914 trace.prev = tracehead; tracehead = &trace;
8915 trace.file = LOCATE_parser;
8916 variable[0] = self;
8917 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction94].i]) return;
8918 return_label221: while(false);
8919 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction94].i] = 1;
8920 tracehead = trace.prev;
8921 return;
8922 }
8923 void parser___ReduceAction95___action(val_t self, val_t param0) {
8924 struct trace_t trace = {NULL, NULL, 4975, LOCATE_parser___ReduceAction95___action};
8925 val_t variable[19];
8926 void **closurevariable = NULL;
8927 trace.prev = tracehead; tracehead = &trace;
8928 trace.file = LOCATE_parser;
8929 variable[0] = self;
8930 variable[1] = param0;
8931 variable[3] = NIT_NULL /*null*/;
8932 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8933 variable[4] = variable[5];
8934 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8935 variable[5] = variable[6];
8936 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8937 variable[6] = variable[7];
8938 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8939 variable[7] = variable[8];
8940 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8941 variable[8] = variable[9];
8942 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8943 variable[9] = variable[10];
8944 variable[10] = variable[9] /*nodearraylist1*/;
8945 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
8946 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction95___action, LOCATE_parser, 4985); nit_exit(1);}
8947 variable[11] = variable[8] /*nodearraylist2*/;
8948 variable[12] = TAG_Bool(( variable[11] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
8949 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction95___action, LOCATE_parser, 4987); nit_exit(1);}
8950 variable[12] = variable[7] /*nodearraylist3*/;
8951 variable[13] = TAG_Bool(( variable[12] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
8952 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction95___action, LOCATE_parser, 4989); nit_exit(1);}
8953 variable[14] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[11] /*tkwredefnode4*/, variable[12] /*tkwreadablenode5*/); /*new AReadAble*/
8954 variable[13] = variable[14];
8955 variable[14] = variable[6] /*nodearraylist4*/;
8956 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
8957 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction95___action, LOCATE_parser, 4995); nit_exit(1);}
8958 variable[15] = variable[5] /*nodearraylist5*/;
8959 variable[16] = TAG_Bool(( variable[15] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
8960 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction95___action, LOCATE_parser, 4997); nit_exit(1);}
8961 variable[16] = variable[4] /*nodearraylist6*/;
8962 variable[17] = TAG_Bool(( variable[16] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[16] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
8963 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction95___action, LOCATE_parser, 4999); nit_exit(1);}
8964 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*/
8965 variable[17] = variable[18];
8966 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
8967 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
8968 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
8969 return_label222: while(false);
8970 tracehead = trace.prev;
8971 return;
8972 }
8973 void parser___ReduceAction95___init(val_t self, int* init_table) {
8974 struct trace_t trace = {NULL, NULL, 5014, LOCATE_parser___ReduceAction95___init};
8975 val_t variable[2];
8976 void **closurevariable = NULL;
8977 trace.prev = tracehead; tracehead = &trace;
8978 trace.file = LOCATE_parser;
8979 variable[0] = self;
8980 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction95].i]) return;
8981 return_label223: while(false);
8982 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction95].i] = 1;
8983 tracehead = trace.prev;
8984 return;
8985 }
8986 void parser___ReduceAction96___action(val_t self, val_t param0) {
8987 struct trace_t trace = {NULL, NULL, 5018, LOCATE_parser___ReduceAction96___action};
8988 val_t variable[17];
8989 void **closurevariable = NULL;
8990 trace.prev = tracehead; tracehead = &trace;
8991 trace.file = LOCATE_parser;
8992 variable[0] = self;
8993 variable[1] = param0;
8994 variable[3] = NIT_NULL /*null*/;
8995 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8996 variable[4] = variable[5];
8997 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8998 variable[5] = variable[6];
8999 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9000 variable[6] = variable[7];
9001 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9002 variable[7] = variable[8];
9003 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9004 variable[8] = variable[9];
9005 variable[9] = variable[8] /*nodearraylist1*/;
9006 variable[10] = TAG_Bool(( variable[9] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9007 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction96___action, LOCATE_parser, 5027); nit_exit(1);}
9008 variable[10] = variable[7] /*nodearraylist2*/;
9009 variable[11] = TAG_Bool(( variable[10] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
9010 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction96___action, LOCATE_parser, 5029); nit_exit(1);}
9011 variable[12] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[10] /*tkwwritablenode6*/); /*new AWriteAble*/
9012 variable[11] = variable[12];
9013 variable[12] = variable[6] /*nodearraylist3*/;
9014 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9015 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction96___action, LOCATE_parser, 5035); nit_exit(1);}
9016 variable[13] = variable[5] /*nodearraylist4*/;
9017 variable[14] = TAG_Bool(( variable[13] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9018 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction96___action, LOCATE_parser, 5037); nit_exit(1);}
9019 variable[14] = variable[4] /*nodearraylist5*/;
9020 variable[15] = TAG_Bool(( variable[14] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[14] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9021 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction96___action, LOCATE_parser, 5039); nit_exit(1);}
9022 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*/
9023 variable[15] = variable[16];
9024 variable[3] = variable[15] /*ppropdefnode1*/ /*node_list=*/;
9025 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9026 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
9027 return_label224: while(false);
9028 tracehead = trace.prev;
9029 return;
9030 }
9031 void parser___ReduceAction96___init(val_t self, int* init_table) {
9032 struct trace_t trace = {NULL, NULL, 5054, LOCATE_parser___ReduceAction96___init};
9033 val_t variable[2];
9034 void **closurevariable = NULL;
9035 trace.prev = tracehead; tracehead = &trace;
9036 trace.file = LOCATE_parser;
9037 variable[0] = self;
9038 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction96].i]) return;
9039 return_label225: while(false);
9040 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction96].i] = 1;
9041 tracehead = trace.prev;
9042 return;
9043 }
9044 void parser___ReduceAction97___action(val_t self, val_t param0) {
9045 struct trace_t trace = {NULL, NULL, 5058, LOCATE_parser___ReduceAction97___action};
9046 val_t variable[19];
9047 void **closurevariable = NULL;
9048 trace.prev = tracehead; tracehead = &trace;
9049 trace.file = LOCATE_parser;
9050 variable[0] = self;
9051 variable[1] = param0;
9052 variable[3] = NIT_NULL /*null*/;
9053 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9054 variable[4] = variable[5];
9055 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9056 variable[5] = variable[6];
9057 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9058 variable[6] = variable[7];
9059 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9060 variable[7] = variable[8];
9061 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9062 variable[8] = variable[9];
9063 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9064 variable[9] = variable[10];
9065 variable[10] = variable[9] /*nodearraylist1*/;
9066 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9067 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction97___action, LOCATE_parser, 5068); nit_exit(1);}
9068 variable[11] = variable[8] /*nodearraylist2*/;
9069 variable[12] = TAG_Bool(( variable[11] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9070 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction97___action, LOCATE_parser, 5070); nit_exit(1);}
9071 variable[12] = variable[7] /*nodearraylist3*/;
9072 variable[13] = TAG_Bool(( variable[12] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
9073 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction97___action, LOCATE_parser, 5072); nit_exit(1);}
9074 variable[14] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[11] /*tkwredefnode5*/, variable[12] /*tkwwritablenode6*/); /*new AWriteAble*/
9075 variable[13] = variable[14];
9076 variable[14] = variable[6] /*nodearraylist4*/;
9077 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9078 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction97___action, LOCATE_parser, 5078); nit_exit(1);}
9079 variable[15] = variable[5] /*nodearraylist5*/;
9080 variable[16] = TAG_Bool(( variable[15] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9081 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction97___action, LOCATE_parser, 5080); nit_exit(1);}
9082 variable[16] = variable[4] /*nodearraylist6*/;
9083 variable[17] = TAG_Bool(( variable[16] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[16] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9084 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction97___action, LOCATE_parser, 5082); nit_exit(1);}
9085 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*/
9086 variable[17] = variable[18];
9087 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
9088 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9089 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
9090 return_label226: while(false);
9091 tracehead = trace.prev;
9092 return;
9093 }
9094 void parser___ReduceAction97___init(val_t self, int* init_table) {
9095 struct trace_t trace = {NULL, NULL, 5097, LOCATE_parser___ReduceAction97___init};
9096 val_t variable[2];
9097 void **closurevariable = NULL;
9098 trace.prev = tracehead; tracehead = &trace;
9099 trace.file = LOCATE_parser;
9100 variable[0] = self;
9101 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction97].i]) return;
9102 return_label227: while(false);
9103 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction97].i] = 1;
9104 tracehead = trace.prev;
9105 return;
9106 }
9107 void parser___ReduceAction98___action(val_t self, val_t param0) {
9108 struct trace_t trace = {NULL, NULL, 5101, LOCATE_parser___ReduceAction98___action};
9109 val_t variable[14];
9110 void **closurevariable = NULL;
9111 trace.prev = tracehead; tracehead = &trace;
9112 trace.file = LOCATE_parser;
9113 variable[0] = self;
9114 variable[1] = param0;
9115 variable[3] = NIT_NULL /*null*/;
9116 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9117 variable[4] = variable[5];
9118 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9119 variable[5] = variable[6];
9120 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9121 variable[6] = variable[7];
9122 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9123 variable[7] = variable[8];
9124 variable[8] = variable[7] /*nodearraylist1*/;
9125 variable[9] = TAG_Bool(( variable[8] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9126 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction98___action, LOCATE_parser, 5109); nit_exit(1);}
9127 variable[9] = variable[6] /*nodearraylist2*/;
9128 variable[10] = TAG_Bool(( variable[9] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[9] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9129 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction98___action, LOCATE_parser, 5111); nit_exit(1);}
9130 variable[10] = variable[5] /*nodearraylist3*/;
9131 variable[11] = TAG_Bool(( variable[10] /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9132 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction98___action, LOCATE_parser, 5113); nit_exit(1);}
9133 variable[11] = variable[4] /*nodearraylist4*/;
9134 variable[12] = TAG_Bool(( variable[11] /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable[11] /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9135 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction98___action, LOCATE_parser, 5115); nit_exit(1);}
9136 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*/
9137 variable[12] = variable[13];
9138 variable[3] = variable[12] /*ppropdefnode1*/ /*node_list=*/;
9139 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9140 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
9141 return_label228: while(false);
9142 tracehead = trace.prev;
9143 return;
9144 }
9145 void parser___ReduceAction98___init(val_t self, int* init_table) {
9146 struct trace_t trace = {NULL, NULL, 5130, LOCATE_parser___ReduceAction98___init};
9147 val_t variable[2];
9148 void **closurevariable = NULL;
9149 trace.prev = tracehead; tracehead = &trace;
9150 trace.file = LOCATE_parser;
9151 variable[0] = self;
9152 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction98].i]) return;
9153 return_label229: while(false);
9154 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction98].i] = 1;
9155 tracehead = trace.prev;
9156 return;
9157 }
9158 void parser___ReduceAction99___action(val_t self, val_t param0) {
9159 struct trace_t trace = {NULL, NULL, 5134, LOCATE_parser___ReduceAction99___action};
9160 val_t variable[22];
9161 void **closurevariable = NULL;
9162 trace.prev = tracehead; tracehead = &trace;
9163 trace.file = LOCATE_parser;
9164 variable[0] = self;
9165 variable[1] = param0;
9166 variable[3] = NIT_NULL /*null*/;
9167 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9168 variable[4] = variable[5];
9169 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9170 variable[5] = variable[6];
9171 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9172 variable[6] = variable[7];
9173 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9174 variable[7] = variable[8];
9175 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9176 variable[8] = variable[9];
9177 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9178 variable[9] = variable[10];
9179 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9180 variable[10] = variable[11];
9181 variable[11] = variable[10] /*nodearraylist1*/;
9182 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9183 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5145); nit_exit(1);}
9184 variable[12] = variable[9] /*nodearraylist2*/;
9185 variable[13] = TAG_Bool(( variable[12] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
9186 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5147); nit_exit(1);}
9187 variable[14] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[12] /*tkwreadablenode5*/); /*new AReadAble*/
9188 variable[13] = variable[14];
9189 variable[14] = variable[8] /*nodearraylist3*/;
9190 variable[15] = TAG_Bool(( variable[14] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
9191 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5153); nit_exit(1);}
9192 variable[16] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[14] /*tkwwritablenode8*/); /*new AWriteAble*/
9193 variable[15] = variable[16];
9194 variable[16] = variable[7] /*nodearraylist4*/;
9195 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9196 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5159); nit_exit(1);}
9197 variable[17] = variable[6] /*nodearraylist5*/;
9198 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9199 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5161); nit_exit(1);}
9200 variable[18] = variable[5] /*nodearraylist6*/;
9201 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9202 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5163); nit_exit(1);}
9203 variable[19] = variable[4] /*nodearraylist7*/;
9204 variable[20] = TAG_Bool(( variable[19] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9205 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5165); nit_exit(1);}
9206 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*/
9207 variable[20] = variable[21];
9208 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
9209 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9210 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
9211 return_label230: while(false);
9212 tracehead = trace.prev;
9213 return;
9214 }
9215 void parser___ReduceAction99___init(val_t self, int* init_table) {
9216 struct trace_t trace = {NULL, NULL, 5180, LOCATE_parser___ReduceAction99___init};
9217 val_t variable[2];
9218 void **closurevariable = NULL;
9219 trace.prev = tracehead; tracehead = &trace;
9220 trace.file = LOCATE_parser;
9221 variable[0] = self;
9222 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction99].i]) return;
9223 return_label231: while(false);
9224 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction99].i] = 1;
9225 tracehead = trace.prev;
9226 return;
9227 }
9228 void parser___ReduceAction100___action(val_t self, val_t param0) {
9229 struct trace_t trace = {NULL, NULL, 5184, LOCATE_parser___ReduceAction100___action};
9230 val_t variable[24];
9231 void **closurevariable = NULL;
9232 trace.prev = tracehead; tracehead = &trace;
9233 trace.file = LOCATE_parser;
9234 variable[0] = self;
9235 variable[1] = param0;
9236 variable[3] = NIT_NULL /*null*/;
9237 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9238 variable[4] = variable[5];
9239 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9240 variable[5] = variable[6];
9241 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9242 variable[6] = variable[7];
9243 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9244 variable[7] = variable[8];
9245 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9246 variable[8] = variable[9];
9247 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9248 variable[9] = variable[10];
9249 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9250 variable[10] = variable[11];
9251 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9252 variable[11] = variable[12];
9253 variable[12] = variable[11] /*nodearraylist1*/;
9254 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9255 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5196); nit_exit(1);}
9256 variable[13] = variable[10] /*nodearraylist2*/;
9257 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
9258 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5198); nit_exit(1);}
9259 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[13] /*tkwreadablenode5*/); /*new AReadAble*/
9260 variable[14] = variable[15];
9261 variable[15] = variable[9] /*nodearraylist3*/;
9262 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9263 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5204); nit_exit(1);}
9264 variable[16] = variable[8] /*nodearraylist4*/;
9265 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
9266 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5206); nit_exit(1);}
9267 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[15] /*tkwredefnode7*/, variable[16] /*tkwwritablenode8*/); /*new AWriteAble*/
9268 variable[17] = variable[18];
9269 variable[18] = variable[7] /*nodearraylist5*/;
9270 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9271 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5212); nit_exit(1);}
9272 variable[19] = variable[6] /*nodearraylist6*/;
9273 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9274 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5214); nit_exit(1);}
9275 variable[20] = variable[5] /*nodearraylist7*/;
9276 variable[21] = TAG_Bool(( variable[20] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9277 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5216); nit_exit(1);}
9278 variable[21] = variable[4] /*nodearraylist8*/;
9279 variable[22] = TAG_Bool(( variable[21] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[21] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9280 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5218); nit_exit(1);}
9281 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*/
9282 variable[22] = variable[23];
9283 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
9284 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9285 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
9286 return_label232: while(false);
9287 tracehead = trace.prev;
9288 return;
9289 }
9290 void parser___ReduceAction100___init(val_t self, int* init_table) {
9291 struct trace_t trace = {NULL, NULL, 5233, LOCATE_parser___ReduceAction100___init};
9292 val_t variable[2];
9293 void **closurevariable = NULL;
9294 trace.prev = tracehead; tracehead = &trace;
9295 trace.file = LOCATE_parser;
9296 variable[0] = self;
9297 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction100].i]) return;
9298 return_label233: while(false);
9299 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction100].i] = 1;
9300 tracehead = trace.prev;
9301 return;
9302 }
9303 void parser___ReduceAction101___action(val_t self, val_t param0) {
9304 struct trace_t trace = {NULL, NULL, 5237, LOCATE_parser___ReduceAction101___action};
9305 val_t variable[19];
9306 void **closurevariable = NULL;
9307 trace.prev = tracehead; tracehead = &trace;
9308 trace.file = LOCATE_parser;
9309 variable[0] = self;
9310 variable[1] = param0;
9311 variable[3] = NIT_NULL /*null*/;
9312 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9313 variable[4] = variable[5];
9314 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9315 variable[5] = variable[6];
9316 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9317 variable[6] = variable[7];
9318 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9319 variable[7] = variable[8];
9320 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9321 variable[8] = variable[9];
9322 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9323 variable[9] = variable[10];
9324 variable[10] = variable[9] /*nodearraylist1*/;
9325 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9326 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction101___action, LOCATE_parser, 5247); nit_exit(1);}
9327 variable[11] = variable[8] /*nodearraylist2*/;
9328 variable[12] = TAG_Bool(( variable[11] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
9329 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction101___action, LOCATE_parser, 5249); nit_exit(1);}
9330 variable[13] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[11] /*tkwreadablenode5*/); /*new AReadAble*/
9331 variable[12] = variable[13];
9332 variable[13] = variable[7] /*nodearraylist3*/;
9333 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9334 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction101___action, LOCATE_parser, 5255); nit_exit(1);}
9335 variable[14] = variable[6] /*nodearraylist4*/;
9336 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9337 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction101___action, LOCATE_parser, 5257); nit_exit(1);}
9338 variable[15] = variable[5] /*nodearraylist5*/;
9339 variable[16] = TAG_Bool(( variable[15] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9340 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction101___action, LOCATE_parser, 5259); nit_exit(1);}
9341 variable[16] = variable[4] /*nodearraylist6*/;
9342 variable[17] = TAG_Bool(( variable[16] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[16] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9343 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction101___action, LOCATE_parser, 5261); nit_exit(1);}
9344 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*/
9345 variable[17] = variable[18];
9346 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
9347 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9348 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
9349 return_label234: while(false);
9350 tracehead = trace.prev;
9351 return;
9352 }
9353 void parser___ReduceAction101___init(val_t self, int* init_table) {
9354 struct trace_t trace = {NULL, NULL, 5276, LOCATE_parser___ReduceAction101___init};
9355 val_t variable[2];
9356 void **closurevariable = NULL;
9357 trace.prev = tracehead; tracehead = &trace;
9358 trace.file = LOCATE_parser;
9359 variable[0] = self;
9360 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction101].i]) return;
9361 return_label235: while(false);
9362 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction101].i] = 1;
9363 tracehead = trace.prev;
9364 return;
9365 }
9366 void parser___ReduceAction102___action(val_t self, val_t param0) {
9367 struct trace_t trace = {NULL, NULL, 5280, LOCATE_parser___ReduceAction102___action};
9368 val_t variable[24];
9369 void **closurevariable = NULL;
9370 trace.prev = tracehead; tracehead = &trace;
9371 trace.file = LOCATE_parser;
9372 variable[0] = self;
9373 variable[1] = param0;
9374 variable[3] = NIT_NULL /*null*/;
9375 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9376 variable[4] = variable[5];
9377 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9378 variable[5] = variable[6];
9379 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9380 variable[6] = variable[7];
9381 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9382 variable[7] = variable[8];
9383 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9384 variable[8] = variable[9];
9385 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9386 variable[9] = variable[10];
9387 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9388 variable[10] = variable[11];
9389 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9390 variable[11] = variable[12];
9391 variable[12] = variable[11] /*nodearraylist1*/;
9392 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9393 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5292); nit_exit(1);}
9394 variable[13] = variable[10] /*nodearraylist2*/;
9395 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9396 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5294); nit_exit(1);}
9397 variable[14] = variable[9] /*nodearraylist3*/;
9398 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
9399 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5296); nit_exit(1);}
9400 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[13] /*tkwredefnode4*/, variable[14] /*tkwreadablenode5*/); /*new AReadAble*/
9401 variable[15] = variable[16];
9402 variable[16] = variable[8] /*nodearraylist4*/;
9403 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
9404 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5302); nit_exit(1);}
9405 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[16] /*tkwwritablenode8*/); /*new AWriteAble*/
9406 variable[17] = variable[18];
9407 variable[18] = variable[7] /*nodearraylist5*/;
9408 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9409 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5308); nit_exit(1);}
9410 variable[19] = variable[6] /*nodearraylist6*/;
9411 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9412 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5310); nit_exit(1);}
9413 variable[20] = variable[5] /*nodearraylist7*/;
9414 variable[21] = TAG_Bool(( variable[20] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9415 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5312); nit_exit(1);}
9416 variable[21] = variable[4] /*nodearraylist8*/;
9417 variable[22] = TAG_Bool(( variable[21] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[21] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9418 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5314); nit_exit(1);}
9419 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*/
9420 variable[22] = variable[23];
9421 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
9422 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9423 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
9424 return_label236: while(false);
9425 tracehead = trace.prev;
9426 return;
9427 }
9428 void parser___ReduceAction102___init(val_t self, int* init_table) {
9429 struct trace_t trace = {NULL, NULL, 5329, LOCATE_parser___ReduceAction102___init};
9430 val_t variable[2];
9431 void **closurevariable = NULL;
9432 trace.prev = tracehead; tracehead = &trace;
9433 trace.file = LOCATE_parser;
9434 variable[0] = self;
9435 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction102].i]) return;
9436 return_label237: while(false);
9437 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction102].i] = 1;
9438 tracehead = trace.prev;
9439 return;
9440 }
9441 void parser___ReduceAction103___action(val_t self, val_t param0) {
9442 struct trace_t trace = {NULL, NULL, 5333, LOCATE_parser___ReduceAction103___action};
9443 val_t variable[26];
9444 void **closurevariable = NULL;
9445 trace.prev = tracehead; tracehead = &trace;
9446 trace.file = LOCATE_parser;
9447 variable[0] = self;
9448 variable[1] = param0;
9449 variable[3] = NIT_NULL /*null*/;
9450 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9451 variable[4] = variable[5];
9452 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9453 variable[5] = variable[6];
9454 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9455 variable[6] = variable[7];
9456 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9457 variable[7] = variable[8];
9458 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9459 variable[8] = variable[9];
9460 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9461 variable[9] = variable[10];
9462 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9463 variable[10] = variable[11];
9464 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9465 variable[11] = variable[12];
9466 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9467 variable[12] = variable[13];
9468 variable[13] = variable[12] /*nodearraylist1*/;
9469 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9470 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5346); nit_exit(1);}
9471 variable[14] = variable[11] /*nodearraylist2*/;
9472 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9473 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5348); nit_exit(1);}
9474 variable[15] = variable[10] /*nodearraylist3*/;
9475 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
9476 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5350); nit_exit(1);}
9477 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[14] /*tkwredefnode4*/, variable[15] /*tkwreadablenode5*/); /*new AReadAble*/
9478 variable[16] = variable[17];
9479 variable[17] = variable[9] /*nodearraylist4*/;
9480 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9481 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5356); nit_exit(1);}
9482 variable[18] = variable[8] /*nodearraylist5*/;
9483 variable[19] = TAG_Bool(( variable[18] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
9484 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5358); nit_exit(1);}
9485 variable[20] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[17] /*tkwredefnode7*/, variable[18] /*tkwwritablenode8*/); /*new AWriteAble*/
9486 variable[19] = variable[20];
9487 variable[20] = variable[7] /*nodearraylist6*/;
9488 variable[21] = TAG_Bool(( variable[20] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9489 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5364); nit_exit(1);}
9490 variable[21] = variable[6] /*nodearraylist7*/;
9491 variable[22] = TAG_Bool(( variable[21] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[21] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9492 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5366); nit_exit(1);}
9493 variable[22] = variable[5] /*nodearraylist8*/;
9494 variable[23] = TAG_Bool(( variable[22] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9495 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5368); nit_exit(1);}
9496 variable[23] = variable[4] /*nodearraylist9*/;
9497 variable[24] = TAG_Bool(( variable[23] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[23] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9498 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5370); nit_exit(1);}
9499 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*/
9500 variable[24] = variable[25];
9501 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
9502 variable[25] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9503 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
9504 return_label238: while(false);
9505 tracehead = trace.prev;
9506 return;
9507 }
9508 void parser___ReduceAction103___init(val_t self, int* init_table) {
9509 struct trace_t trace = {NULL, NULL, 5385, LOCATE_parser___ReduceAction103___init};
9510 val_t variable[2];
9511 void **closurevariable = NULL;
9512 trace.prev = tracehead; tracehead = &trace;
9513 trace.file = LOCATE_parser;
9514 variable[0] = self;
9515 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction103].i]) return;
9516 return_label239: while(false);
9517 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction103].i] = 1;
9518 tracehead = trace.prev;
9519 return;
9520 }
9521 void parser___ReduceAction104___action(val_t self, val_t param0) {
9522 struct trace_t trace = {NULL, NULL, 5389, LOCATE_parser___ReduceAction104___action};
9523 val_t variable[21];
9524 void **closurevariable = NULL;
9525 trace.prev = tracehead; tracehead = &trace;
9526 trace.file = LOCATE_parser;
9527 variable[0] = self;
9528 variable[1] = param0;
9529 variable[3] = NIT_NULL /*null*/;
9530 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9531 variable[4] = variable[5];
9532 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9533 variable[5] = variable[6];
9534 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9535 variable[6] = variable[7];
9536 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9537 variable[7] = variable[8];
9538 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9539 variable[8] = variable[9];
9540 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9541 variable[9] = variable[10];
9542 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9543 variable[10] = variable[11];
9544 variable[11] = variable[10] /*nodearraylist1*/;
9545 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9546 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction104___action, LOCATE_parser, 5400); nit_exit(1);}
9547 variable[12] = variable[9] /*nodearraylist2*/;
9548 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9549 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction104___action, LOCATE_parser, 5402); nit_exit(1);}
9550 variable[13] = variable[8] /*nodearraylist3*/;
9551 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
9552 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction104___action, LOCATE_parser, 5404); nit_exit(1);}
9553 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[12] /*tkwredefnode4*/, variable[13] /*tkwreadablenode5*/); /*new AReadAble*/
9554 variable[14] = variable[15];
9555 variable[15] = variable[7] /*nodearraylist4*/;
9556 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9557 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction104___action, LOCATE_parser, 5410); nit_exit(1);}
9558 variable[16] = variable[6] /*nodearraylist5*/;
9559 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9560 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction104___action, LOCATE_parser, 5412); nit_exit(1);}
9561 variable[17] = variable[5] /*nodearraylist6*/;
9562 variable[18] = TAG_Bool(( variable[17] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9563 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction104___action, LOCATE_parser, 5414); nit_exit(1);}
9564 variable[18] = variable[4] /*nodearraylist7*/;
9565 variable[19] = TAG_Bool(( variable[18] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[18] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9566 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction104___action, LOCATE_parser, 5416); nit_exit(1);}
9567 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*/
9568 variable[19] = variable[20];
9569 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
9570 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9571 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
9572 return_label240: while(false);
9573 tracehead = trace.prev;
9574 return;
9575 }
9576 void parser___ReduceAction104___init(val_t self, int* init_table) {
9577 struct trace_t trace = {NULL, NULL, 5431, LOCATE_parser___ReduceAction104___init};
9578 val_t variable[2];
9579 void **closurevariable = NULL;
9580 trace.prev = tracehead; tracehead = &trace;
9581 trace.file = LOCATE_parser;
9582 variable[0] = self;
9583 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction104].i]) return;
9584 return_label241: while(false);
9585 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction104].i] = 1;
9586 tracehead = trace.prev;
9587 return;
9588 }
9589 void parser___ReduceAction105___action(val_t self, val_t param0) {
9590 struct trace_t trace = {NULL, NULL, 5435, LOCATE_parser___ReduceAction105___action};
9591 val_t variable[19];
9592 void **closurevariable = NULL;
9593 trace.prev = tracehead; tracehead = &trace;
9594 trace.file = LOCATE_parser;
9595 variable[0] = self;
9596 variable[1] = param0;
9597 variable[3] = NIT_NULL /*null*/;
9598 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9599 variable[4] = variable[5];
9600 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9601 variable[5] = variable[6];
9602 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9603 variable[6] = variable[7];
9604 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9605 variable[7] = variable[8];
9606 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9607 variable[8] = variable[9];
9608 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9609 variable[9] = variable[10];
9610 variable[10] = variable[9] /*nodearraylist1*/;
9611 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9612 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction105___action, LOCATE_parser, 5445); nit_exit(1);}
9613 variable[11] = variable[8] /*nodearraylist2*/;
9614 variable[12] = TAG_Bool(( variable[11] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
9615 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction105___action, LOCATE_parser, 5447); nit_exit(1);}
9616 variable[13] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[11] /*tkwwritablenode6*/); /*new AWriteAble*/
9617 variable[12] = variable[13];
9618 variable[13] = variable[7] /*nodearraylist3*/;
9619 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9620 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction105___action, LOCATE_parser, 5453); nit_exit(1);}
9621 variable[14] = variable[6] /*nodearraylist4*/;
9622 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9623 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction105___action, LOCATE_parser, 5455); nit_exit(1);}
9624 variable[15] = variable[5] /*nodearraylist5*/;
9625 variable[16] = TAG_Bool(( variable[15] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9626 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction105___action, LOCATE_parser, 5457); nit_exit(1);}
9627 variable[16] = variable[4] /*nodearraylist6*/;
9628 variable[17] = TAG_Bool(( variable[16] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[16] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9629 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction105___action, LOCATE_parser, 5459); nit_exit(1);}
9630 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*/
9631 variable[17] = variable[18];
9632 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
9633 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9634 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
9635 return_label242: while(false);
9636 tracehead = trace.prev;
9637 return;
9638 }
9639 void parser___ReduceAction105___init(val_t self, int* init_table) {
9640 struct trace_t trace = {NULL, NULL, 5474, LOCATE_parser___ReduceAction105___init};
9641 val_t variable[2];
9642 void **closurevariable = NULL;
9643 trace.prev = tracehead; tracehead = &trace;
9644 trace.file = LOCATE_parser;
9645 variable[0] = self;
9646 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction105].i]) return;
9647 return_label243: while(false);
9648 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction105].i] = 1;
9649 tracehead = trace.prev;
9650 return;
9651 }
9652 void parser___ReduceAction106___action(val_t self, val_t param0) {
9653 struct trace_t trace = {NULL, NULL, 5478, LOCATE_parser___ReduceAction106___action};
9654 val_t variable[21];
9655 void **closurevariable = NULL;
9656 trace.prev = tracehead; tracehead = &trace;
9657 trace.file = LOCATE_parser;
9658 variable[0] = self;
9659 variable[1] = param0;
9660 variable[3] = NIT_NULL /*null*/;
9661 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9662 variable[4] = variable[5];
9663 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9664 variable[5] = variable[6];
9665 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9666 variable[6] = variable[7];
9667 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9668 variable[7] = variable[8];
9669 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9670 variable[8] = variable[9];
9671 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9672 variable[9] = variable[10];
9673 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9674 variable[10] = variable[11];
9675 variable[11] = variable[10] /*nodearraylist1*/;
9676 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9677 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5489); nit_exit(1);}
9678 variable[12] = variable[9] /*nodearraylist2*/;
9679 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9680 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5491); nit_exit(1);}
9681 variable[13] = variable[8] /*nodearraylist3*/;
9682 variable[14] = TAG_Bool(( variable[13] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
9683 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5493); nit_exit(1);}
9684 variable[15] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[12] /*tkwredefnode5*/, variable[13] /*tkwwritablenode6*/); /*new AWriteAble*/
9685 variable[14] = variable[15];
9686 variable[15] = variable[7] /*nodearraylist4*/;
9687 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9688 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5499); nit_exit(1);}
9689 variable[16] = variable[6] /*nodearraylist5*/;
9690 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9691 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5501); nit_exit(1);}
9692 variable[17] = variable[5] /*nodearraylist6*/;
9693 variable[18] = TAG_Bool(( variable[17] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9694 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5503); nit_exit(1);}
9695 variable[18] = variable[4] /*nodearraylist7*/;
9696 variable[19] = TAG_Bool(( variable[18] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[18] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9697 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5505); nit_exit(1);}
9698 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*/
9699 variable[19] = variable[20];
9700 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
9701 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9702 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
9703 return_label244: while(false);
9704 tracehead = trace.prev;
9705 return;
9706 }
9707 void parser___ReduceAction106___init(val_t self, int* init_table) {
9708 struct trace_t trace = {NULL, NULL, 5520, LOCATE_parser___ReduceAction106___init};
9709 val_t variable[2];
9710 void **closurevariable = NULL;
9711 trace.prev = tracehead; tracehead = &trace;
9712 trace.file = LOCATE_parser;
9713 variable[0] = self;
9714 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction106].i]) return;
9715 return_label245: while(false);
9716 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction106].i] = 1;
9717 tracehead = trace.prev;
9718 return;
9719 }
9720 void parser___ReduceAction107___action(val_t self, val_t param0) {
9721 struct trace_t trace = {NULL, NULL, 5524, LOCATE_parser___ReduceAction107___action};
9722 val_t variable[16];
9723 void **closurevariable = NULL;
9724 trace.prev = tracehead; tracehead = &trace;
9725 trace.file = LOCATE_parser;
9726 variable[0] = self;
9727 variable[1] = param0;
9728 variable[3] = NIT_NULL /*null*/;
9729 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9730 variable[4] = variable[5];
9731 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9732 variable[5] = variable[6];
9733 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9734 variable[6] = variable[7];
9735 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9736 variable[7] = variable[8];
9737 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9738 variable[8] = variable[9];
9739 variable[9] = variable[8] /*nodearraylist1*/;
9740 variable[10] = TAG_Bool(( variable[9] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9741 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction107___action, LOCATE_parser, 5533); nit_exit(1);}
9742 variable[10] = variable[7] /*nodearraylist2*/;
9743 variable[11] = TAG_Bool(( variable[10] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9744 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction107___action, LOCATE_parser, 5535); nit_exit(1);}
9745 variable[11] = variable[6] /*nodearraylist3*/;
9746 variable[12] = TAG_Bool(( variable[11] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[11] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9747 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction107___action, LOCATE_parser, 5537); nit_exit(1);}
9748 variable[12] = variable[5] /*nodearraylist4*/;
9749 variable[13] = TAG_Bool(( variable[12] /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9750 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction107___action, LOCATE_parser, 5539); nit_exit(1);}
9751 variable[13] = variable[4] /*nodearraylist5*/;
9752 variable[14] = TAG_Bool(( variable[13] /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable[13] /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9753 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction107___action, LOCATE_parser, 5541); nit_exit(1);}
9754 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*/
9755 variable[14] = variable[15];
9756 variable[3] = variable[14] /*ppropdefnode1*/ /*node_list=*/;
9757 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9758 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
9759 return_label246: while(false);
9760 tracehead = trace.prev;
9761 return;
9762 }
9763 void parser___ReduceAction107___init(val_t self, int* init_table) {
9764 struct trace_t trace = {NULL, NULL, 5556, LOCATE_parser___ReduceAction107___init};
9765 val_t variable[2];
9766 void **closurevariable = NULL;
9767 trace.prev = tracehead; tracehead = &trace;
9768 trace.file = LOCATE_parser;
9769 variable[0] = self;
9770 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction107].i]) return;
9771 return_label247: while(false);
9772 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction107].i] = 1;
9773 tracehead = trace.prev;
9774 return;
9775 }
9776 void parser___ReduceAction108___action(val_t self, val_t param0) {
9777 struct trace_t trace = {NULL, NULL, 5560, LOCATE_parser___ReduceAction108___action};
9778 val_t variable[22];
9779 void **closurevariable = NULL;
9780 trace.prev = tracehead; tracehead = &trace;
9781 trace.file = LOCATE_parser;
9782 variable[0] = self;
9783 variable[1] = param0;
9784 variable[3] = NIT_NULL /*null*/;
9785 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9786 variable[4] = variable[5];
9787 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9788 variable[5] = variable[6];
9789 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9790 variable[6] = variable[7];
9791 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9792 variable[7] = variable[8];
9793 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9794 variable[8] = variable[9];
9795 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9796 variable[9] = variable[10];
9797 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9798 variable[10] = variable[11];
9799 variable[11] = variable[10] /*nodearraylist1*/;
9800 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9801 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction108___action, LOCATE_parser, 5571); nit_exit(1);}
9802 variable[12] = variable[9] /*nodearraylist2*/;
9803 variable[13] = TAG_Bool(( variable[12] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
9804 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction108___action, LOCATE_parser, 5573); nit_exit(1);}
9805 variable[14] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[12] /*tkwreadablenode5*/); /*new AReadAble*/
9806 variable[13] = variable[14];
9807 variable[14] = variable[8] /*nodearraylist3*/;
9808 variable[15] = TAG_Bool(( variable[14] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
9809 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction108___action, LOCATE_parser, 5579); nit_exit(1);}
9810 variable[16] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[14] /*tkwwritablenode8*/); /*new AWriteAble*/
9811 variable[15] = variable[16];
9812 variable[16] = variable[7] /*nodearraylist4*/;
9813 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9814 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction108___action, LOCATE_parser, 5585); nit_exit(1);}
9815 variable[17] = variable[6] /*nodearraylist5*/;
9816 variable[18] = TAG_Bool(( variable[17] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9817 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction108___action, LOCATE_parser, 5587); nit_exit(1);}
9818 variable[18] = variable[5] /*nodearraylist6*/;
9819 variable[19] = TAG_Bool(( variable[18] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[18] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9820 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction108___action, LOCATE_parser, 5589); nit_exit(1);}
9821 variable[19] = variable[4] /*nodearraylist7*/;
9822 variable[20] = TAG_Bool(( variable[19] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
9823 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction108___action, LOCATE_parser, 5591); nit_exit(1);}
9824 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*/
9825 variable[20] = variable[21];
9826 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
9827 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9828 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
9829 return_label248: while(false);
9830 tracehead = trace.prev;
9831 return;
9832 }
9833 void parser___ReduceAction108___init(val_t self, int* init_table) {
9834 struct trace_t trace = {NULL, NULL, 5606, LOCATE_parser___ReduceAction108___init};
9835 val_t variable[2];
9836 void **closurevariable = NULL;
9837 trace.prev = tracehead; tracehead = &trace;
9838 trace.file = LOCATE_parser;
9839 variable[0] = self;
9840 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction108].i]) return;
9841 return_label249: while(false);
9842 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction108].i] = 1;
9843 tracehead = trace.prev;
9844 return;
9845 }
9846 void parser___ReduceAction109___action(val_t self, val_t param0) {
9847 struct trace_t trace = {NULL, NULL, 5610, LOCATE_parser___ReduceAction109___action};
9848 val_t variable[24];
9849 void **closurevariable = NULL;
9850 trace.prev = tracehead; tracehead = &trace;
9851 trace.file = LOCATE_parser;
9852 variable[0] = self;
9853 variable[1] = param0;
9854 variable[3] = NIT_NULL /*null*/;
9855 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9856 variable[4] = variable[5];
9857 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9858 variable[5] = variable[6];
9859 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9860 variable[6] = variable[7];
9861 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9862 variable[7] = variable[8];
9863 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9864 variable[8] = variable[9];
9865 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9866 variable[9] = variable[10];
9867 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9868 variable[10] = variable[11];
9869 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9870 variable[11] = variable[12];
9871 variable[12] = variable[11] /*nodearraylist1*/;
9872 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9873 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5622); nit_exit(1);}
9874 variable[13] = variable[10] /*nodearraylist2*/;
9875 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
9876 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5624); nit_exit(1);}
9877 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[13] /*tkwreadablenode5*/); /*new AReadAble*/
9878 variable[14] = variable[15];
9879 variable[15] = variable[9] /*nodearraylist3*/;
9880 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9881 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5630); nit_exit(1);}
9882 variable[16] = variable[8] /*nodearraylist4*/;
9883 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
9884 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5632); nit_exit(1);}
9885 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[15] /*tkwredefnode7*/, variable[16] /*tkwwritablenode8*/); /*new AWriteAble*/
9886 variable[17] = variable[18];
9887 variable[18] = variable[7] /*nodearraylist5*/;
9888 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9889 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5638); nit_exit(1);}
9890 variable[19] = variable[6] /*nodearraylist6*/;
9891 variable[20] = TAG_Bool(( variable[19] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9892 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5640); nit_exit(1);}
9893 variable[20] = variable[5] /*nodearraylist7*/;
9894 variable[21] = TAG_Bool(( variable[20] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9895 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5642); nit_exit(1);}
9896 variable[21] = variable[4] /*nodearraylist8*/;
9897 variable[22] = TAG_Bool(( variable[21] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
9898 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5644); nit_exit(1);}
9899 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*/
9900 variable[22] = variable[23];
9901 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
9902 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9903 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
9904 return_label250: while(false);
9905 tracehead = trace.prev;
9906 return;
9907 }
9908 void parser___ReduceAction109___init(val_t self, int* init_table) {
9909 struct trace_t trace = {NULL, NULL, 5659, LOCATE_parser___ReduceAction109___init};
9910 val_t variable[2];
9911 void **closurevariable = NULL;
9912 trace.prev = tracehead; tracehead = &trace;
9913 trace.file = LOCATE_parser;
9914 variable[0] = self;
9915 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction109].i]) return;
9916 return_label251: while(false);
9917 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction109].i] = 1;
9918 tracehead = trace.prev;
9919 return;
9920 }
9921 void parser___ReduceAction110___action(val_t self, val_t param0) {
9922 struct trace_t trace = {NULL, NULL, 5663, LOCATE_parser___ReduceAction110___action};
9923 val_t variable[19];
9924 void **closurevariable = NULL;
9925 trace.prev = tracehead; tracehead = &trace;
9926 trace.file = LOCATE_parser;
9927 variable[0] = self;
9928 variable[1] = param0;
9929 variable[3] = NIT_NULL /*null*/;
9930 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9931 variable[4] = variable[5];
9932 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9933 variable[5] = variable[6];
9934 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9935 variable[6] = variable[7];
9936 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9937 variable[7] = variable[8];
9938 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9939 variable[8] = variable[9];
9940 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9941 variable[9] = variable[10];
9942 variable[10] = variable[9] /*nodearraylist1*/;
9943 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9944 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction110___action, LOCATE_parser, 5673); nit_exit(1);}
9945 variable[11] = variable[8] /*nodearraylist2*/;
9946 variable[12] = TAG_Bool(( variable[11] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
9947 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction110___action, LOCATE_parser, 5675); nit_exit(1);}
9948 variable[13] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[11] /*tkwreadablenode5*/); /*new AReadAble*/
9949 variable[12] = variable[13];
9950 variable[13] = variable[7] /*nodearraylist3*/;
9951 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9952 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction110___action, LOCATE_parser, 5681); nit_exit(1);}
9953 variable[14] = variable[6] /*nodearraylist4*/;
9954 variable[15] = TAG_Bool(( variable[14] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9955 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction110___action, LOCATE_parser, 5683); nit_exit(1);}
9956 variable[15] = variable[5] /*nodearraylist5*/;
9957 variable[16] = TAG_Bool(( variable[15] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[15] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9958 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction110___action, LOCATE_parser, 5685); nit_exit(1);}
9959 variable[16] = variable[4] /*nodearraylist6*/;
9960 variable[17] = TAG_Bool(( variable[16] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[16] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
9961 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction110___action, LOCATE_parser, 5687); nit_exit(1);}
9962 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*/
9963 variable[17] = variable[18];
9964 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
9965 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9966 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
9967 return_label252: while(false);
9968 tracehead = trace.prev;
9969 return;
9970 }
9971 void parser___ReduceAction110___init(val_t self, int* init_table) {
9972 struct trace_t trace = {NULL, NULL, 5702, LOCATE_parser___ReduceAction110___init};
9973 val_t variable[2];
9974 void **closurevariable = NULL;
9975 trace.prev = tracehead; tracehead = &trace;
9976 trace.file = LOCATE_parser;
9977 variable[0] = self;
9978 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction110].i]) return;
9979 return_label253: while(false);
9980 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction110].i] = 1;
9981 tracehead = trace.prev;
9982 return;
9983 }
9984 void parser___ReduceAction111___action(val_t self, val_t param0) {
9985 struct trace_t trace = {NULL, NULL, 5706, LOCATE_parser___ReduceAction111___action};
9986 val_t variable[24];
9987 void **closurevariable = NULL;
9988 trace.prev = tracehead; tracehead = &trace;
9989 trace.file = LOCATE_parser;
9990 variable[0] = self;
9991 variable[1] = param0;
9992 variable[3] = NIT_NULL /*null*/;
9993 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9994 variable[4] = variable[5];
9995 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9996 variable[5] = variable[6];
9997 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9998 variable[6] = variable[7];
9999 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10000 variable[7] = variable[8];
10001 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10002 variable[8] = variable[9];
10003 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10004 variable[9] = variable[10];
10005 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10006 variable[10] = variable[11];
10007 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10008 variable[11] = variable[12];
10009 variable[12] = variable[11] /*nodearraylist1*/;
10010 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10011 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5718); nit_exit(1);}
10012 variable[13] = variable[10] /*nodearraylist2*/;
10013 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10014 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5720); nit_exit(1);}
10015 variable[14] = variable[9] /*nodearraylist3*/;
10016 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10017 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5722); nit_exit(1);}
10018 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[13] /*tkwredefnode4*/, variable[14] /*tkwreadablenode5*/); /*new AReadAble*/
10019 variable[15] = variable[16];
10020 variable[16] = variable[8] /*nodearraylist4*/;
10021 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10022 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5728); nit_exit(1);}
10023 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[16] /*tkwwritablenode8*/); /*new AWriteAble*/
10024 variable[17] = variable[18];
10025 variable[18] = variable[7] /*nodearraylist5*/;
10026 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10027 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5734); nit_exit(1);}
10028 variable[19] = variable[6] /*nodearraylist6*/;
10029 variable[20] = TAG_Bool(( variable[19] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10030 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5736); nit_exit(1);}
10031 variable[20] = variable[5] /*nodearraylist7*/;
10032 variable[21] = TAG_Bool(( variable[20] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10033 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5738); nit_exit(1);}
10034 variable[21] = variable[4] /*nodearraylist8*/;
10035 variable[22] = TAG_Bool(( variable[21] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
10036 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5740); nit_exit(1);}
10037 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*/
10038 variable[22] = variable[23];
10039 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
10040 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10041 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
10042 return_label254: while(false);
10043 tracehead = trace.prev;
10044 return;
10045 }
10046 void parser___ReduceAction111___init(val_t self, int* init_table) {
10047 struct trace_t trace = {NULL, NULL, 5755, LOCATE_parser___ReduceAction111___init};
10048 val_t variable[2];
10049 void **closurevariable = NULL;
10050 trace.prev = tracehead; tracehead = &trace;
10051 trace.file = LOCATE_parser;
10052 variable[0] = self;
10053 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction111].i]) return;
10054 return_label255: while(false);
10055 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction111].i] = 1;
10056 tracehead = trace.prev;
10057 return;
10058 }
10059 void parser___ReduceAction112___action(val_t self, val_t param0) {
10060 struct trace_t trace = {NULL, NULL, 5759, LOCATE_parser___ReduceAction112___action};
10061 val_t variable[26];
10062 void **closurevariable = NULL;
10063 trace.prev = tracehead; tracehead = &trace;
10064 trace.file = LOCATE_parser;
10065 variable[0] = self;
10066 variable[1] = param0;
10067 variable[3] = NIT_NULL /*null*/;
10068 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10069 variable[4] = variable[5];
10070 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10071 variable[5] = variable[6];
10072 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10073 variable[6] = variable[7];
10074 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10075 variable[7] = variable[8];
10076 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10077 variable[8] = variable[9];
10078 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10079 variable[9] = variable[10];
10080 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10081 variable[10] = variable[11];
10082 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10083 variable[11] = variable[12];
10084 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10085 variable[12] = variable[13];
10086 variable[13] = variable[12] /*nodearraylist1*/;
10087 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10088 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5772); nit_exit(1);}
10089 variable[14] = variable[11] /*nodearraylist2*/;
10090 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10091 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5774); nit_exit(1);}
10092 variable[15] = variable[10] /*nodearraylist3*/;
10093 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10094 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5776); nit_exit(1);}
10095 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[14] /*tkwredefnode4*/, variable[15] /*tkwreadablenode5*/); /*new AReadAble*/
10096 variable[16] = variable[17];
10097 variable[17] = variable[9] /*nodearraylist4*/;
10098 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10099 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5782); nit_exit(1);}
10100 variable[18] = variable[8] /*nodearraylist5*/;
10101 variable[19] = TAG_Bool(( variable[18] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10102 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5784); nit_exit(1);}
10103 variable[20] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[17] /*tkwredefnode7*/, variable[18] /*tkwwritablenode8*/); /*new AWriteAble*/
10104 variable[19] = variable[20];
10105 variable[20] = variable[7] /*nodearraylist6*/;
10106 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10107 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5790); nit_exit(1);}
10108 variable[21] = variable[6] /*nodearraylist7*/;
10109 variable[22] = TAG_Bool(( variable[21] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10110 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5792); nit_exit(1);}
10111 variable[22] = variable[5] /*nodearraylist8*/;
10112 variable[23] = TAG_Bool(( variable[22] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10113 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5794); nit_exit(1);}
10114 variable[23] = variable[4] /*nodearraylist9*/;
10115 variable[24] = TAG_Bool(( variable[23] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
10116 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5796); nit_exit(1);}
10117 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*/
10118 variable[24] = variable[25];
10119 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
10120 variable[25] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10121 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
10122 return_label256: while(false);
10123 tracehead = trace.prev;
10124 return;
10125 }
10126 void parser___ReduceAction112___init(val_t self, int* init_table) {
10127 struct trace_t trace = {NULL, NULL, 5811, LOCATE_parser___ReduceAction112___init};
10128 val_t variable[2];
10129 void **closurevariable = NULL;
10130 trace.prev = tracehead; tracehead = &trace;
10131 trace.file = LOCATE_parser;
10132 variable[0] = self;
10133 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction112].i]) return;
10134 return_label257: while(false);
10135 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction112].i] = 1;
10136 tracehead = trace.prev;
10137 return;
10138 }
10139 void parser___ReduceAction113___action(val_t self, val_t param0) {
10140 struct trace_t trace = {NULL, NULL, 5815, LOCATE_parser___ReduceAction113___action};
10141 val_t variable[21];
10142 void **closurevariable = NULL;
10143 trace.prev = tracehead; tracehead = &trace;
10144 trace.file = LOCATE_parser;
10145 variable[0] = self;
10146 variable[1] = param0;
10147 variable[3] = NIT_NULL /*null*/;
10148 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10149 variable[4] = variable[5];
10150 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10151 variable[5] = variable[6];
10152 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10153 variable[6] = variable[7];
10154 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10155 variable[7] = variable[8];
10156 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10157 variable[8] = variable[9];
10158 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10159 variable[9] = variable[10];
10160 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10161 variable[10] = variable[11];
10162 variable[11] = variable[10] /*nodearraylist1*/;
10163 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10164 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 5826); nit_exit(1);}
10165 variable[12] = variable[9] /*nodearraylist2*/;
10166 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10167 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 5828); nit_exit(1);}
10168 variable[13] = variable[8] /*nodearraylist3*/;
10169 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10170 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 5830); nit_exit(1);}
10171 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[12] /*tkwredefnode4*/, variable[13] /*tkwreadablenode5*/); /*new AReadAble*/
10172 variable[14] = variable[15];
10173 variable[15] = variable[7] /*nodearraylist4*/;
10174 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10175 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 5836); nit_exit(1);}
10176 variable[16] = variable[6] /*nodearraylist5*/;
10177 variable[17] = TAG_Bool(( variable[16] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10178 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 5838); nit_exit(1);}
10179 variable[17] = variable[5] /*nodearraylist6*/;
10180 variable[18] = TAG_Bool(( variable[17] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10181 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 5840); nit_exit(1);}
10182 variable[18] = variable[4] /*nodearraylist7*/;
10183 variable[19] = TAG_Bool(( variable[18] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
10184 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 5842); nit_exit(1);}
10185 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*/
10186 variable[19] = variable[20];
10187 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
10188 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10189 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
10190 return_label258: while(false);
10191 tracehead = trace.prev;
10192 return;
10193 }
10194 void parser___ReduceAction113___init(val_t self, int* init_table) {
10195 struct trace_t trace = {NULL, NULL, 5857, LOCATE_parser___ReduceAction113___init};
10196 val_t variable[2];
10197 void **closurevariable = NULL;
10198 trace.prev = tracehead; tracehead = &trace;
10199 trace.file = LOCATE_parser;
10200 variable[0] = self;
10201 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction113].i]) return;
10202 return_label259: while(false);
10203 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction113].i] = 1;
10204 tracehead = trace.prev;
10205 return;
10206 }
10207 void parser___ReduceAction114___action(val_t self, val_t param0) {
10208 struct trace_t trace = {NULL, NULL, 5861, LOCATE_parser___ReduceAction114___action};
10209 val_t variable[19];
10210 void **closurevariable = NULL;
10211 trace.prev = tracehead; tracehead = &trace;
10212 trace.file = LOCATE_parser;
10213 variable[0] = self;
10214 variable[1] = param0;
10215 variable[3] = NIT_NULL /*null*/;
10216 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10217 variable[4] = variable[5];
10218 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10219 variable[5] = variable[6];
10220 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10221 variable[6] = variable[7];
10222 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10223 variable[7] = variable[8];
10224 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10225 variable[8] = variable[9];
10226 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10227 variable[9] = variable[10];
10228 variable[10] = variable[9] /*nodearraylist1*/;
10229 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10230 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction114___action, LOCATE_parser, 5871); nit_exit(1);}
10231 variable[11] = variable[8] /*nodearraylist2*/;
10232 variable[12] = TAG_Bool(( variable[11] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10233 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction114___action, LOCATE_parser, 5873); nit_exit(1);}
10234 variable[13] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[11] /*tkwwritablenode6*/); /*new AWriteAble*/
10235 variable[12] = variable[13];
10236 variable[13] = variable[7] /*nodearraylist3*/;
10237 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10238 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction114___action, LOCATE_parser, 5879); nit_exit(1);}
10239 variable[14] = variable[6] /*nodearraylist4*/;
10240 variable[15] = TAG_Bool(( variable[14] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10241 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction114___action, LOCATE_parser, 5881); nit_exit(1);}
10242 variable[15] = variable[5] /*nodearraylist5*/;
10243 variable[16] = TAG_Bool(( variable[15] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[15] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10244 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction114___action, LOCATE_parser, 5883); nit_exit(1);}
10245 variable[16] = variable[4] /*nodearraylist6*/;
10246 variable[17] = TAG_Bool(( variable[16] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[16] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
10247 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction114___action, LOCATE_parser, 5885); nit_exit(1);}
10248 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*/
10249 variable[17] = variable[18];
10250 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
10251 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10252 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
10253 return_label260: while(false);
10254 tracehead = trace.prev;
10255 return;
10256 }
10257 void parser___ReduceAction114___init(val_t self, int* init_table) {
10258 struct trace_t trace = {NULL, NULL, 5900, LOCATE_parser___ReduceAction114___init};
10259 val_t variable[2];
10260 void **closurevariable = NULL;
10261 trace.prev = tracehead; tracehead = &trace;
10262 trace.file = LOCATE_parser;
10263 variable[0] = self;
10264 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction114].i]) return;
10265 return_label261: while(false);
10266 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction114].i] = 1;
10267 tracehead = trace.prev;
10268 return;
10269 }
10270 void parser___ReduceAction115___action(val_t self, val_t param0) {
10271 struct trace_t trace = {NULL, NULL, 5904, LOCATE_parser___ReduceAction115___action};
10272 val_t variable[21];
10273 void **closurevariable = NULL;
10274 trace.prev = tracehead; tracehead = &trace;
10275 trace.file = LOCATE_parser;
10276 variable[0] = self;
10277 variable[1] = param0;
10278 variable[3] = NIT_NULL /*null*/;
10279 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10280 variable[4] = variable[5];
10281 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10282 variable[5] = variable[6];
10283 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10284 variable[6] = variable[7];
10285 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10286 variable[7] = variable[8];
10287 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10288 variable[8] = variable[9];
10289 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10290 variable[9] = variable[10];
10291 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10292 variable[10] = variable[11];
10293 variable[11] = variable[10] /*nodearraylist1*/;
10294 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10295 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 5915); nit_exit(1);}
10296 variable[12] = variable[9] /*nodearraylist2*/;
10297 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10298 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 5917); nit_exit(1);}
10299 variable[13] = variable[8] /*nodearraylist3*/;
10300 variable[14] = TAG_Bool(( variable[13] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10301 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 5919); nit_exit(1);}
10302 variable[15] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[12] /*tkwredefnode5*/, variable[13] /*tkwwritablenode6*/); /*new AWriteAble*/
10303 variable[14] = variable[15];
10304 variable[15] = variable[7] /*nodearraylist4*/;
10305 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10306 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 5925); nit_exit(1);}
10307 variable[16] = variable[6] /*nodearraylist5*/;
10308 variable[17] = TAG_Bool(( variable[16] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10309 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 5927); nit_exit(1);}
10310 variable[17] = variable[5] /*nodearraylist6*/;
10311 variable[18] = TAG_Bool(( variable[17] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10312 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 5929); nit_exit(1);}
10313 variable[18] = variable[4] /*nodearraylist7*/;
10314 variable[19] = TAG_Bool(( variable[18] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
10315 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 5931); nit_exit(1);}
10316 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*/
10317 variable[19] = variable[20];
10318 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
10319 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10320 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
10321 return_label262: while(false);
10322 tracehead = trace.prev;
10323 return;
10324 }
10325 void parser___ReduceAction115___init(val_t self, int* init_table) {
10326 struct trace_t trace = {NULL, NULL, 5946, LOCATE_parser___ReduceAction115___init};
10327 val_t variable[2];
10328 void **closurevariable = NULL;
10329 trace.prev = tracehead; tracehead = &trace;
10330 trace.file = LOCATE_parser;
10331 variable[0] = self;
10332 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction115].i]) return;
10333 return_label263: while(false);
10334 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction115].i] = 1;
10335 tracehead = trace.prev;
10336 return;
10337 }
10338 void parser___ReduceAction116___action(val_t self, val_t param0) {
10339 struct trace_t trace = {NULL, NULL, 5950, LOCATE_parser___ReduceAction116___action};
10340 val_t variable[16];
10341 void **closurevariable = NULL;
10342 trace.prev = tracehead; tracehead = &trace;
10343 trace.file = LOCATE_parser;
10344 variable[0] = self;
10345 variable[1] = param0;
10346 variable[3] = NIT_NULL /*null*/;
10347 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10348 variable[4] = variable[5];
10349 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10350 variable[5] = variable[6];
10351 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10352 variable[6] = variable[7];
10353 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10354 variable[7] = variable[8];
10355 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10356 variable[8] = variable[9];
10357 variable[9] = variable[8] /*nodearraylist1*/;
10358 variable[10] = TAG_Bool(( variable[9] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10359 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction116___action, LOCATE_parser, 5959); nit_exit(1);}
10360 variable[10] = variable[7] /*nodearraylist2*/;
10361 variable[11] = TAG_Bool(( variable[10] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[10] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10362 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction116___action, LOCATE_parser, 5961); nit_exit(1);}
10363 variable[11] = variable[6] /*nodearraylist3*/;
10364 variable[12] = TAG_Bool(( variable[11] /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10365 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction116___action, LOCATE_parser, 5963); nit_exit(1);}
10366 variable[12] = variable[5] /*nodearraylist4*/;
10367 variable[13] = TAG_Bool(( variable[12] /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable[12] /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10368 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction116___action, LOCATE_parser, 5965); nit_exit(1);}
10369 variable[13] = variable[4] /*nodearraylist5*/;
10370 variable[14] = TAG_Bool(( variable[13] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[13] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
10371 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction116___action, LOCATE_parser, 5967); nit_exit(1);}
10372 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*/
10373 variable[14] = variable[15];
10374 variable[3] = variable[14] /*ppropdefnode1*/ /*node_list=*/;
10375 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10376 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
10377 return_label264: while(false);
10378 tracehead = trace.prev;
10379 return;
10380 }
10381 void parser___ReduceAction116___init(val_t self, int* init_table) {
10382 struct trace_t trace = {NULL, NULL, 5982, LOCATE_parser___ReduceAction116___init};
10383 val_t variable[2];
10384 void **closurevariable = NULL;
10385 trace.prev = tracehead; tracehead = &trace;
10386 trace.file = LOCATE_parser;
10387 variable[0] = self;
10388 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction116].i]) return;
10389 return_label265: while(false);
10390 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction116].i] = 1;
10391 tracehead = trace.prev;
10392 return;
10393 }
10394 void parser___ReduceAction117___action(val_t self, val_t param0) {
10395 struct trace_t trace = {NULL, NULL, 5986, LOCATE_parser___ReduceAction117___action};
10396 val_t variable[24];
10397 void **closurevariable = NULL;
10398 trace.prev = tracehead; tracehead = &trace;
10399 trace.file = LOCATE_parser;
10400 variable[0] = self;
10401 variable[1] = param0;
10402 variable[3] = NIT_NULL /*null*/;
10403 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10404 variable[4] = variable[5];
10405 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10406 variable[5] = variable[6];
10407 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10408 variable[6] = variable[7];
10409 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10410 variable[7] = variable[8];
10411 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10412 variable[8] = variable[9];
10413 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10414 variable[9] = variable[10];
10415 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10416 variable[10] = variable[11];
10417 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10418 variable[11] = variable[12];
10419 variable[12] = variable[11] /*nodearraylist1*/;
10420 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10421 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 5998); nit_exit(1);}
10422 variable[13] = variable[10] /*nodearraylist2*/;
10423 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10424 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 6000); nit_exit(1);}
10425 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[13] /*tkwreadablenode5*/); /*new AReadAble*/
10426 variable[14] = variable[15];
10427 variable[15] = variable[9] /*nodearraylist3*/;
10428 variable[16] = TAG_Bool(( variable[15] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10429 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 6006); nit_exit(1);}
10430 variable[17] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[15] /*tkwwritablenode8*/); /*new AWriteAble*/
10431 variable[16] = variable[17];
10432 variable[17] = variable[8] /*nodearraylist4*/;
10433 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10434 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 6012); nit_exit(1);}
10435 variable[18] = variable[7] /*nodearraylist5*/;
10436 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10437 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 6014); nit_exit(1);}
10438 variable[19] = variable[6] /*nodearraylist6*/;
10439 variable[20] = TAG_Bool(( variable[19] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10440 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 6016); nit_exit(1);}
10441 variable[20] = variable[5] /*nodearraylist7*/;
10442 variable[21] = TAG_Bool(( variable[20] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10443 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 6018); nit_exit(1);}
10444 variable[21] = variable[4] /*nodearraylist8*/;
10445 variable[22] = TAG_Bool(( variable[21] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
10446 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 6020); nit_exit(1);}
10447 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*/
10448 variable[22] = variable[23];
10449 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
10450 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10451 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
10452 return_label266: while(false);
10453 tracehead = trace.prev;
10454 return;
10455 }
10456 void parser___ReduceAction117___init(val_t self, int* init_table) {
10457 struct trace_t trace = {NULL, NULL, 6035, LOCATE_parser___ReduceAction117___init};
10458 val_t variable[2];
10459 void **closurevariable = NULL;
10460 trace.prev = tracehead; tracehead = &trace;
10461 trace.file = LOCATE_parser;
10462 variable[0] = self;
10463 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction117].i]) return;
10464 return_label267: while(false);
10465 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction117].i] = 1;
10466 tracehead = trace.prev;
10467 return;
10468 }
10469 void parser___ReduceAction118___action(val_t self, val_t param0) {
10470 struct trace_t trace = {NULL, NULL, 6039, LOCATE_parser___ReduceAction118___action};
10471 val_t variable[26];
10472 void **closurevariable = NULL;
10473 trace.prev = tracehead; tracehead = &trace;
10474 trace.file = LOCATE_parser;
10475 variable[0] = self;
10476 variable[1] = param0;
10477 variable[3] = NIT_NULL /*null*/;
10478 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10479 variable[4] = variable[5];
10480 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10481 variable[5] = variable[6];
10482 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10483 variable[6] = variable[7];
10484 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10485 variable[7] = variable[8];
10486 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10487 variable[8] = variable[9];
10488 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10489 variable[9] = variable[10];
10490 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10491 variable[10] = variable[11];
10492 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10493 variable[11] = variable[12];
10494 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10495 variable[12] = variable[13];
10496 variable[13] = variable[12] /*nodearraylist1*/;
10497 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10498 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 6052); nit_exit(1);}
10499 variable[14] = variable[11] /*nodearraylist2*/;
10500 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10501 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 6054); nit_exit(1);}
10502 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[14] /*tkwreadablenode5*/); /*new AReadAble*/
10503 variable[15] = variable[16];
10504 variable[16] = variable[10] /*nodearraylist3*/;
10505 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10506 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 6060); nit_exit(1);}
10507 variable[17] = variable[9] /*nodearraylist4*/;
10508 variable[18] = TAG_Bool(( variable[17] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10509 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 6062); nit_exit(1);}
10510 variable[19] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[16] /*tkwredefnode7*/, variable[17] /*tkwwritablenode8*/); /*new AWriteAble*/
10511 variable[18] = variable[19];
10512 variable[19] = variable[8] /*nodearraylist5*/;
10513 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10514 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 6068); nit_exit(1);}
10515 variable[20] = variable[7] /*nodearraylist6*/;
10516 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10517 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 6070); nit_exit(1);}
10518 variable[21] = variable[6] /*nodearraylist7*/;
10519 variable[22] = TAG_Bool(( variable[21] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10520 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 6072); nit_exit(1);}
10521 variable[22] = variable[5] /*nodearraylist8*/;
10522 variable[23] = TAG_Bool(( variable[22] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10523 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 6074); nit_exit(1);}
10524 variable[23] = variable[4] /*nodearraylist9*/;
10525 variable[24] = TAG_Bool(( variable[23] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
10526 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 6076); nit_exit(1);}
10527 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*/
10528 variable[24] = variable[25];
10529 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
10530 variable[25] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10531 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
10532 return_label268: while(false);
10533 tracehead = trace.prev;
10534 return;
10535 }
10536 void parser___ReduceAction118___init(val_t self, int* init_table) {
10537 struct trace_t trace = {NULL, NULL, 6091, LOCATE_parser___ReduceAction118___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(variable[0])->vft[INIT_TABLE_POS_ReduceAction118].i]) return;
10544 return_label269: while(false);
10545 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction118].i] = 1;
10546 tracehead = trace.prev;
10547 return;
10548 }
10549 void parser___ReduceAction119___action(val_t self, val_t param0) {
10550 struct trace_t trace = {NULL, NULL, 6095, LOCATE_parser___ReduceAction119___action};
10551 val_t variable[21];
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] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10559 variable[4] = variable[5];
10560 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10561 variable[5] = variable[6];
10562 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10563 variable[6] = variable[7];
10564 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10565 variable[7] = variable[8];
10566 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10567 variable[8] = variable[9];
10568 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10569 variable[9] = variable[10];
10570 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10571 variable[10] = variable[11];
10572 variable[11] = variable[10] /*nodearraylist1*/;
10573 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10574 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction119___action, LOCATE_parser, 6106); nit_exit(1);}
10575 variable[12] = variable[9] /*nodearraylist2*/;
10576 variable[13] = TAG_Bool(( variable[12] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10577 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction119___action, LOCATE_parser, 6108); nit_exit(1);}
10578 variable[14] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[12] /*tkwreadablenode5*/); /*new AReadAble*/
10579 variable[13] = variable[14];
10580 variable[14] = variable[8] /*nodearraylist3*/;
10581 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10582 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction119___action, LOCATE_parser, 6114); nit_exit(1);}
10583 variable[15] = variable[7] /*nodearraylist4*/;
10584 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10585 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction119___action, LOCATE_parser, 6116); nit_exit(1);}
10586 variable[16] = variable[6] /*nodearraylist5*/;
10587 variable[17] = TAG_Bool(( variable[16] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10588 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction119___action, LOCATE_parser, 6118); nit_exit(1);}
10589 variable[17] = variable[5] /*nodearraylist6*/;
10590 variable[18] = TAG_Bool(( variable[17] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10591 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction119___action, LOCATE_parser, 6120); nit_exit(1);}
10592 variable[18] = variable[4] /*nodearraylist7*/;
10593 variable[19] = TAG_Bool(( variable[18] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
10594 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction119___action, LOCATE_parser, 6122); nit_exit(1);}
10595 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*/
10596 variable[19] = variable[20];
10597 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
10598 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10599 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
10600 return_label270: while(false);
10601 tracehead = trace.prev;
10602 return;
10603 }
10604 void parser___ReduceAction119___init(val_t self, int* init_table) {
10605 struct trace_t trace = {NULL, NULL, 6137, LOCATE_parser___ReduceAction119___init};
10606 val_t variable[2];
10607 void **closurevariable = NULL;
10608 trace.prev = tracehead; tracehead = &trace;
10609 trace.file = LOCATE_parser;
10610 variable[0] = self;
10611 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction119].i]) return;
10612 return_label271: while(false);
10613 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction119].i] = 1;
10614 tracehead = trace.prev;
10615 return;
10616 }
10617 void parser___ReduceAction120___action(val_t self, val_t param0) {
10618 struct trace_t trace = {NULL, NULL, 6141, LOCATE_parser___ReduceAction120___action};
10619 val_t variable[26];
10620 void **closurevariable = NULL;
10621 trace.prev = tracehead; tracehead = &trace;
10622 trace.file = LOCATE_parser;
10623 variable[0] = self;
10624 variable[1] = param0;
10625 variable[3] = NIT_NULL /*null*/;
10626 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10627 variable[4] = variable[5];
10628 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10629 variable[5] = variable[6];
10630 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10631 variable[6] = variable[7];
10632 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10633 variable[7] = variable[8];
10634 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10635 variable[8] = variable[9];
10636 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10637 variable[9] = variable[10];
10638 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10639 variable[10] = variable[11];
10640 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10641 variable[11] = variable[12];
10642 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10643 variable[12] = variable[13];
10644 variable[13] = variable[12] /*nodearraylist1*/;
10645 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10646 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6154); nit_exit(1);}
10647 variable[14] = variable[11] /*nodearraylist2*/;
10648 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10649 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6156); nit_exit(1);}
10650 variable[15] = variable[10] /*nodearraylist3*/;
10651 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10652 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6158); nit_exit(1);}
10653 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[14] /*tkwredefnode4*/, variable[15] /*tkwreadablenode5*/); /*new AReadAble*/
10654 variable[16] = variable[17];
10655 variable[17] = variable[9] /*nodearraylist4*/;
10656 variable[18] = TAG_Bool(( variable[17] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10657 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6164); nit_exit(1);}
10658 variable[19] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[17] /*tkwwritablenode8*/); /*new AWriteAble*/
10659 variable[18] = variable[19];
10660 variable[19] = variable[8] /*nodearraylist5*/;
10661 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10662 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6170); nit_exit(1);}
10663 variable[20] = variable[7] /*nodearraylist6*/;
10664 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10665 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6172); nit_exit(1);}
10666 variable[21] = variable[6] /*nodearraylist7*/;
10667 variable[22] = TAG_Bool(( variable[21] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10668 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6174); nit_exit(1);}
10669 variable[22] = variable[5] /*nodearraylist8*/;
10670 variable[23] = TAG_Bool(( variable[22] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10671 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6176); nit_exit(1);}
10672 variable[23] = variable[4] /*nodearraylist9*/;
10673 variable[24] = TAG_Bool(( variable[23] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
10674 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6178); nit_exit(1);}
10675 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*/
10676 variable[24] = variable[25];
10677 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
10678 variable[25] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10679 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
10680 return_label272: while(false);
10681 tracehead = trace.prev;
10682 return;
10683 }
10684 void parser___ReduceAction120___init(val_t self, int* init_table) {
10685 struct trace_t trace = {NULL, NULL, 6193, LOCATE_parser___ReduceAction120___init};
10686 val_t variable[2];
10687 void **closurevariable = NULL;
10688 trace.prev = tracehead; tracehead = &trace;
10689 trace.file = LOCATE_parser;
10690 variable[0] = self;
10691 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction120].i]) return;
10692 return_label273: while(false);
10693 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction120].i] = 1;
10694 tracehead = trace.prev;
10695 return;
10696 }
10697 void parser___ReduceAction121___action(val_t self, val_t param0) {
10698 struct trace_t trace = {NULL, NULL, 6197, LOCATE_parser___ReduceAction121___action};
10699 val_t variable[28];
10700 void **closurevariable = NULL;
10701 trace.prev = tracehead; tracehead = &trace;
10702 trace.file = LOCATE_parser;
10703 variable[0] = self;
10704 variable[1] = param0;
10705 variable[3] = NIT_NULL /*null*/;
10706 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10707 variable[4] = variable[5];
10708 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10709 variable[5] = variable[6];
10710 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10711 variable[6] = variable[7];
10712 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10713 variable[7] = variable[8];
10714 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10715 variable[8] = variable[9];
10716 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10717 variable[9] = variable[10];
10718 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10719 variable[10] = variable[11];
10720 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10721 variable[11] = variable[12];
10722 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10723 variable[12] = variable[13];
10724 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10725 variable[13] = variable[14];
10726 variable[14] = variable[13] /*nodearraylist1*/;
10727 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10728 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6211); nit_exit(1);}
10729 variable[15] = variable[12] /*nodearraylist2*/;
10730 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10731 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6213); nit_exit(1);}
10732 variable[16] = variable[11] /*nodearraylist3*/;
10733 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10734 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6215); nit_exit(1);}
10735 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[15] /*tkwredefnode4*/, variable[16] /*tkwreadablenode5*/); /*new AReadAble*/
10736 variable[17] = variable[18];
10737 variable[18] = variable[10] /*nodearraylist4*/;
10738 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10739 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6221); nit_exit(1);}
10740 variable[19] = variable[9] /*nodearraylist5*/;
10741 variable[20] = TAG_Bool(( variable[19] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10742 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6223); nit_exit(1);}
10743 variable[21] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[18] /*tkwredefnode7*/, variable[19] /*tkwwritablenode8*/); /*new AWriteAble*/
10744 variable[20] = variable[21];
10745 variable[21] = variable[8] /*nodearraylist6*/;
10746 variable[22] = TAG_Bool(( variable[21] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10747 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6229); nit_exit(1);}
10748 variable[22] = variable[7] /*nodearraylist7*/;
10749 variable[23] = TAG_Bool(( variable[22] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[22] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10750 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6231); nit_exit(1);}
10751 variable[23] = variable[6] /*nodearraylist8*/;
10752 variable[24] = TAG_Bool(( variable[23] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[23] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10753 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6233); nit_exit(1);}
10754 variable[24] = variable[5] /*nodearraylist9*/;
10755 variable[25] = TAG_Bool(( variable[24] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[24] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10756 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6235); nit_exit(1);}
10757 variable[25] = variable[4] /*nodearraylist10*/;
10758 variable[26] = TAG_Bool(( variable[25] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[25] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
10759 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6237); nit_exit(1);}
10760 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*/
10761 variable[26] = variable[27];
10762 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
10763 variable[27] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10764 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
10765 return_label274: while(false);
10766 tracehead = trace.prev;
10767 return;
10768 }
10769 void parser___ReduceAction121___init(val_t self, int* init_table) {
10770 struct trace_t trace = {NULL, NULL, 6252, LOCATE_parser___ReduceAction121___init};
10771 val_t variable[2];
10772 void **closurevariable = NULL;
10773 trace.prev = tracehead; tracehead = &trace;
10774 trace.file = LOCATE_parser;
10775 variable[0] = self;
10776 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction121].i]) return;
10777 return_label275: while(false);
10778 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction121].i] = 1;
10779 tracehead = trace.prev;
10780 return;
10781 }
10782 void parser___ReduceAction122___action(val_t self, val_t param0) {
10783 struct trace_t trace = {NULL, NULL, 6256, LOCATE_parser___ReduceAction122___action};
10784 val_t variable[23];
10785 void **closurevariable = NULL;
10786 trace.prev = tracehead; tracehead = &trace;
10787 trace.file = LOCATE_parser;
10788 variable[0] = self;
10789 variable[1] = param0;
10790 variable[3] = NIT_NULL /*null*/;
10791 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10792 variable[4] = variable[5];
10793 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10794 variable[5] = variable[6];
10795 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10796 variable[6] = variable[7];
10797 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10798 variable[7] = variable[8];
10799 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10800 variable[8] = variable[9];
10801 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10802 variable[9] = variable[10];
10803 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10804 variable[10] = variable[11];
10805 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10806 variable[11] = variable[12];
10807 variable[12] = variable[11] /*nodearraylist1*/;
10808 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10809 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6268); nit_exit(1);}
10810 variable[13] = variable[10] /*nodearraylist2*/;
10811 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10812 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6270); nit_exit(1);}
10813 variable[14] = variable[9] /*nodearraylist3*/;
10814 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10815 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6272); nit_exit(1);}
10816 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[13] /*tkwredefnode4*/, variable[14] /*tkwreadablenode5*/); /*new AReadAble*/
10817 variable[15] = variable[16];
10818 variable[16] = variable[8] /*nodearraylist4*/;
10819 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10820 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6278); nit_exit(1);}
10821 variable[17] = variable[7] /*nodearraylist5*/;
10822 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10823 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6280); nit_exit(1);}
10824 variable[18] = variable[6] /*nodearraylist6*/;
10825 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10826 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6282); nit_exit(1);}
10827 variable[19] = variable[5] /*nodearraylist7*/;
10828 variable[20] = TAG_Bool(( variable[19] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10829 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6284); nit_exit(1);}
10830 variable[20] = variable[4] /*nodearraylist8*/;
10831 variable[21] = TAG_Bool(( variable[20] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
10832 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6286); nit_exit(1);}
10833 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*/
10834 variable[21] = variable[22];
10835 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
10836 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10837 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
10838 return_label276: while(false);
10839 tracehead = trace.prev;
10840 return;
10841 }
10842 void parser___ReduceAction122___init(val_t self, int* init_table) {
10843 struct trace_t trace = {NULL, NULL, 6301, LOCATE_parser___ReduceAction122___init};
10844 val_t variable[2];
10845 void **closurevariable = NULL;
10846 trace.prev = tracehead; tracehead = &trace;
10847 trace.file = LOCATE_parser;
10848 variable[0] = self;
10849 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction122].i]) return;
10850 return_label277: while(false);
10851 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction122].i] = 1;
10852 tracehead = trace.prev;
10853 return;
10854 }
10855 void parser___ReduceAction123___action(val_t self, val_t param0) {
10856 struct trace_t trace = {NULL, NULL, 6305, LOCATE_parser___ReduceAction123___action};
10857 val_t variable[21];
10858 void **closurevariable = NULL;
10859 trace.prev = tracehead; tracehead = &trace;
10860 trace.file = LOCATE_parser;
10861 variable[0] = self;
10862 variable[1] = param0;
10863 variable[3] = NIT_NULL /*null*/;
10864 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10865 variable[4] = variable[5];
10866 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10867 variable[5] = variable[6];
10868 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10869 variable[6] = variable[7];
10870 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10871 variable[7] = variable[8];
10872 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10873 variable[8] = variable[9];
10874 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10875 variable[9] = variable[10];
10876 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10877 variable[10] = variable[11];
10878 variable[11] = variable[10] /*nodearraylist1*/;
10879 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10880 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6316); nit_exit(1);}
10881 variable[12] = variable[9] /*nodearraylist2*/;
10882 variable[13] = TAG_Bool(( variable[12] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10883 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6318); nit_exit(1);}
10884 variable[14] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[12] /*tkwwritablenode6*/); /*new AWriteAble*/
10885 variable[13] = variable[14];
10886 variable[14] = variable[8] /*nodearraylist3*/;
10887 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10888 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6324); nit_exit(1);}
10889 variable[15] = variable[7] /*nodearraylist4*/;
10890 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10891 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6326); nit_exit(1);}
10892 variable[16] = variable[6] /*nodearraylist5*/;
10893 variable[17] = TAG_Bool(( variable[16] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10894 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6328); nit_exit(1);}
10895 variable[17] = variable[5] /*nodearraylist6*/;
10896 variable[18] = TAG_Bool(( variable[17] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10897 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6330); nit_exit(1);}
10898 variable[18] = variable[4] /*nodearraylist7*/;
10899 variable[19] = TAG_Bool(( variable[18] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
10900 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6332); nit_exit(1);}
10901 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*/
10902 variable[19] = variable[20];
10903 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
10904 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10905 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
10906 return_label278: while(false);
10907 tracehead = trace.prev;
10908 return;
10909 }
10910 void parser___ReduceAction123___init(val_t self, int* init_table) {
10911 struct trace_t trace = {NULL, NULL, 6347, LOCATE_parser___ReduceAction123___init};
10912 val_t variable[2];
10913 void **closurevariable = NULL;
10914 trace.prev = tracehead; tracehead = &trace;
10915 trace.file = LOCATE_parser;
10916 variable[0] = self;
10917 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction123].i]) return;
10918 return_label279: while(false);
10919 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction123].i] = 1;
10920 tracehead = trace.prev;
10921 return;
10922 }
10923 void parser___ReduceAction124___action(val_t self, val_t param0) {
10924 struct trace_t trace = {NULL, NULL, 6351, LOCATE_parser___ReduceAction124___action};
10925 val_t variable[23];
10926 void **closurevariable = NULL;
10927 trace.prev = tracehead; tracehead = &trace;
10928 trace.file = LOCATE_parser;
10929 variable[0] = self;
10930 variable[1] = param0;
10931 variable[3] = NIT_NULL /*null*/;
10932 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10933 variable[4] = variable[5];
10934 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10935 variable[5] = variable[6];
10936 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10937 variable[6] = variable[7];
10938 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10939 variable[7] = variable[8];
10940 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10941 variable[8] = variable[9];
10942 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10943 variable[9] = variable[10];
10944 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10945 variable[10] = variable[11];
10946 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10947 variable[11] = variable[12];
10948 variable[12] = variable[11] /*nodearraylist1*/;
10949 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10950 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6363); nit_exit(1);}
10951 variable[13] = variable[10] /*nodearraylist2*/;
10952 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10953 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6365); nit_exit(1);}
10954 variable[14] = variable[9] /*nodearraylist3*/;
10955 variable[15] = TAG_Bool(( variable[14] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10956 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6367); nit_exit(1);}
10957 variable[16] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[13] /*tkwredefnode5*/, variable[14] /*tkwwritablenode6*/); /*new AWriteAble*/
10958 variable[15] = variable[16];
10959 variable[16] = variable[8] /*nodearraylist4*/;
10960 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10961 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6373); nit_exit(1);}
10962 variable[17] = variable[7] /*nodearraylist5*/;
10963 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10964 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6375); nit_exit(1);}
10965 variable[18] = variable[6] /*nodearraylist6*/;
10966 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10967 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6377); nit_exit(1);}
10968 variable[19] = variable[5] /*nodearraylist7*/;
10969 variable[20] = TAG_Bool(( variable[19] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10970 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6379); nit_exit(1);}
10971 variable[20] = variable[4] /*nodearraylist8*/;
10972 variable[21] = TAG_Bool(( variable[20] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
10973 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6381); nit_exit(1);}
10974 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*/
10975 variable[21] = variable[22];
10976 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
10977 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10978 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
10979 return_label280: while(false);
10980 tracehead = trace.prev;
10981 return;
10982 }
10983 void parser___ReduceAction124___init(val_t self, int* init_table) {
10984 struct trace_t trace = {NULL, NULL, 6396, LOCATE_parser___ReduceAction124___init};
10985 val_t variable[2];
10986 void **closurevariable = NULL;
10987 trace.prev = tracehead; tracehead = &trace;
10988 trace.file = LOCATE_parser;
10989 variable[0] = self;
10990 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction124].i]) return;
10991 return_label281: while(false);
10992 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction124].i] = 1;
10993 tracehead = trace.prev;
10994 return;
10995 }
10996 void parser___ReduceAction125___action(val_t self, val_t param0) {
10997 struct trace_t trace = {NULL, NULL, 6400, LOCATE_parser___ReduceAction125___action};
10998 val_t variable[18];
10999 void **closurevariable = NULL;
11000 trace.prev = tracehead; tracehead = &trace;
11001 trace.file = LOCATE_parser;
11002 variable[0] = self;
11003 variable[1] = param0;
11004 variable[3] = NIT_NULL /*null*/;
11005 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11006 variable[4] = variable[5];
11007 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11008 variable[5] = variable[6];
11009 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11010 variable[6] = variable[7];
11011 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11012 variable[7] = variable[8];
11013 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11014 variable[8] = variable[9];
11015 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11016 variable[9] = variable[10];
11017 variable[10] = variable[9] /*nodearraylist1*/;
11018 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11019 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction125___action, LOCATE_parser, 6410); nit_exit(1);}
11020 variable[11] = variable[8] /*nodearraylist2*/;
11021 variable[12] = TAG_Bool(( variable[11] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11022 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction125___action, LOCATE_parser, 6412); nit_exit(1);}
11023 variable[12] = variable[7] /*nodearraylist3*/;
11024 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11025 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction125___action, LOCATE_parser, 6414); nit_exit(1);}
11026 variable[13] = variable[6] /*nodearraylist4*/;
11027 variable[14] = TAG_Bool(( variable[13] /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11028 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction125___action, LOCATE_parser, 6416); nit_exit(1);}
11029 variable[14] = variable[5] /*nodearraylist5*/;
11030 variable[15] = TAG_Bool(( variable[14] /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable[14] /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11031 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction125___action, LOCATE_parser, 6418); nit_exit(1);}
11032 variable[15] = variable[4] /*nodearraylist6*/;
11033 variable[16] = TAG_Bool(( variable[15] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[15] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
11034 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction125___action, LOCATE_parser, 6420); nit_exit(1);}
11035 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*/
11036 variable[16] = variable[17];
11037 variable[3] = variable[16] /*ppropdefnode1*/ /*node_list=*/;
11038 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11039 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
11040 return_label282: while(false);
11041 tracehead = trace.prev;
11042 return;
11043 }
11044 void parser___ReduceAction125___init(val_t self, int* init_table) {
11045 struct trace_t trace = {NULL, NULL, 6435, LOCATE_parser___ReduceAction125___init};
11046 val_t variable[2];
11047 void **closurevariable = NULL;
11048 trace.prev = tracehead; tracehead = &trace;
11049 trace.file = LOCATE_parser;
11050 variable[0] = self;
11051 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction125].i]) return;
11052 return_label283: while(false);
11053 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction125].i] = 1;
11054 tracehead = trace.prev;
11055 return;
11056 }
11057 void parser___ReduceAction126___action(val_t self, val_t param0) {
11058 struct trace_t trace = {NULL, NULL, 6439, LOCATE_parser___ReduceAction126___action};
11059 val_t variable[24];
11060 void **closurevariable = NULL;
11061 trace.prev = tracehead; tracehead = &trace;
11062 trace.file = LOCATE_parser;
11063 variable[0] = self;
11064 variable[1] = param0;
11065 variable[3] = NIT_NULL /*null*/;
11066 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11067 variable[4] = variable[5];
11068 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11069 variable[5] = variable[6];
11070 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11071 variable[6] = variable[7];
11072 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11073 variable[7] = variable[8];
11074 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11075 variable[8] = variable[9];
11076 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11077 variable[9] = variable[10];
11078 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11079 variable[10] = variable[11];
11080 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11081 variable[11] = variable[12];
11082 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11083 variable[12] = variable[13];
11084 variable[13] = variable[12] /*nodearraylist1*/;
11085 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11086 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6452); nit_exit(1);}
11087 variable[14] = variable[11] /*nodearraylist2*/;
11088 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
11089 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6454); nit_exit(1);}
11090 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[14] /*tkwreadablenode5*/); /*new AReadAble*/
11091 variable[15] = variable[16];
11092 variable[16] = variable[10] /*nodearraylist3*/;
11093 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11094 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6460); nit_exit(1);}
11095 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[16] /*tkwwritablenode8*/); /*new AWriteAble*/
11096 variable[17] = variable[18];
11097 variable[18] = variable[9] /*nodearraylist4*/;
11098 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11099 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6466); nit_exit(1);}
11100 variable[19] = variable[8] /*nodearraylist5*/;
11101 variable[20] = TAG_Bool(( variable[19] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11102 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6468); nit_exit(1);}
11103 variable[20] = variable[7] /*nodearraylist6*/;
11104 variable[21] = TAG_Bool(( variable[20] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11105 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6470); nit_exit(1);}
11106 variable[21] = variable[4] /*nodearraylist9*/;
11107 variable[22] = TAG_Bool(( variable[21] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[21] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11108 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6472); nit_exit(1);}
11109 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*/
11110 variable[22] = variable[23];
11111 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
11112 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11113 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
11114 return_label284: while(false);
11115 tracehead = trace.prev;
11116 return;
11117 }
11118 void parser___ReduceAction126___init(val_t self, int* init_table) {
11119 struct trace_t trace = {NULL, NULL, 6487, LOCATE_parser___ReduceAction126___init};
11120 val_t variable[2];
11121 void **closurevariable = NULL;
11122 trace.prev = tracehead; tracehead = &trace;
11123 trace.file = LOCATE_parser;
11124 variable[0] = self;
11125 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction126].i]) return;
11126 return_label285: while(false);
11127 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction126].i] = 1;
11128 tracehead = trace.prev;
11129 return;
11130 }
11131 void parser___ReduceAction127___action(val_t self, val_t param0) {
11132 struct trace_t trace = {NULL, NULL, 6491, LOCATE_parser___ReduceAction127___action};
11133 val_t variable[26];
11134 void **closurevariable = NULL;
11135 trace.prev = tracehead; tracehead = &trace;
11136 trace.file = LOCATE_parser;
11137 variable[0] = self;
11138 variable[1] = param0;
11139 variable[3] = NIT_NULL /*null*/;
11140 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11141 variable[4] = variable[5];
11142 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11143 variable[5] = variable[6];
11144 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11145 variable[6] = variable[7];
11146 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11147 variable[7] = variable[8];
11148 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11149 variable[8] = variable[9];
11150 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11151 variable[9] = variable[10];
11152 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11153 variable[10] = variable[11];
11154 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11155 variable[11] = variable[12];
11156 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11157 variable[12] = variable[13];
11158 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11159 variable[13] = variable[14];
11160 variable[14] = variable[13] /*nodearraylist1*/;
11161 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11162 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6505); nit_exit(1);}
11163 variable[15] = variable[12] /*nodearraylist2*/;
11164 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
11165 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6507); nit_exit(1);}
11166 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[15] /*tkwreadablenode5*/); /*new AReadAble*/
11167 variable[16] = variable[17];
11168 variable[17] = variable[11] /*nodearraylist3*/;
11169 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11170 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6513); nit_exit(1);}
11171 variable[18] = variable[10] /*nodearraylist4*/;
11172 variable[19] = TAG_Bool(( variable[18] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11173 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6515); nit_exit(1);}
11174 variable[20] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[17] /*tkwredefnode7*/, variable[18] /*tkwwritablenode8*/); /*new AWriteAble*/
11175 variable[19] = variable[20];
11176 variable[20] = variable[9] /*nodearraylist5*/;
11177 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11178 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6521); nit_exit(1);}
11179 variable[21] = variable[8] /*nodearraylist6*/;
11180 variable[22] = TAG_Bool(( variable[21] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11181 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6523); nit_exit(1);}
11182 variable[22] = variable[7] /*nodearraylist7*/;
11183 variable[23] = TAG_Bool(( variable[22] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11184 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6525); nit_exit(1);}
11185 variable[23] = variable[4] /*nodearraylist10*/;
11186 variable[24] = TAG_Bool(( variable[23] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11187 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6527); nit_exit(1);}
11188 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*/
11189 variable[24] = variable[25];
11190 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
11191 variable[25] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11192 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
11193 return_label286: while(false);
11194 tracehead = trace.prev;
11195 return;
11196 }
11197 void parser___ReduceAction127___init(val_t self, int* init_table) {
11198 struct trace_t trace = {NULL, NULL, 6542, LOCATE_parser___ReduceAction127___init};
11199 val_t variable[2];
11200 void **closurevariable = NULL;
11201 trace.prev = tracehead; tracehead = &trace;
11202 trace.file = LOCATE_parser;
11203 variable[0] = self;
11204 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction127].i]) return;
11205 return_label287: while(false);
11206 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction127].i] = 1;
11207 tracehead = trace.prev;
11208 return;
11209 }
11210 void parser___ReduceAction128___action(val_t self, val_t param0) {
11211 struct trace_t trace = {NULL, NULL, 6546, LOCATE_parser___ReduceAction128___action};
11212 val_t variable[21];
11213 void **closurevariable = NULL;
11214 trace.prev = tracehead; tracehead = &trace;
11215 trace.file = LOCATE_parser;
11216 variable[0] = self;
11217 variable[1] = param0;
11218 variable[3] = NIT_NULL /*null*/;
11219 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11220 variable[4] = variable[5];
11221 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11222 variable[5] = variable[6];
11223 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11224 variable[6] = variable[7];
11225 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11226 variable[7] = variable[8];
11227 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11228 variable[8] = variable[9];
11229 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11230 variable[9] = variable[10];
11231 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11232 variable[10] = variable[11];
11233 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11234 variable[11] = variable[12];
11235 variable[12] = variable[11] /*nodearraylist1*/;
11236 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11237 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction128___action, LOCATE_parser, 6558); nit_exit(1);}
11238 variable[13] = variable[10] /*nodearraylist2*/;
11239 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
11240 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction128___action, LOCATE_parser, 6560); nit_exit(1);}
11241 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[13] /*tkwreadablenode5*/); /*new AReadAble*/
11242 variable[14] = variable[15];
11243 variable[15] = variable[9] /*nodearraylist3*/;
11244 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11245 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction128___action, LOCATE_parser, 6566); nit_exit(1);}
11246 variable[16] = variable[8] /*nodearraylist4*/;
11247 variable[17] = TAG_Bool(( variable[16] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11248 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction128___action, LOCATE_parser, 6568); nit_exit(1);}
11249 variable[17] = variable[7] /*nodearraylist5*/;
11250 variable[18] = TAG_Bool(( variable[17] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11251 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction128___action, LOCATE_parser, 6570); nit_exit(1);}
11252 variable[18] = variable[4] /*nodearraylist8*/;
11253 variable[19] = TAG_Bool(( variable[18] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11254 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction128___action, LOCATE_parser, 6572); nit_exit(1);}
11255 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*/
11256 variable[19] = variable[20];
11257 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
11258 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11259 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
11260 return_label288: while(false);
11261 tracehead = trace.prev;
11262 return;
11263 }
11264 void parser___ReduceAction128___init(val_t self, int* init_table) {
11265 struct trace_t trace = {NULL, NULL, 6587, LOCATE_parser___ReduceAction128___init};
11266 val_t variable[2];
11267 void **closurevariable = NULL;
11268 trace.prev = tracehead; tracehead = &trace;
11269 trace.file = LOCATE_parser;
11270 variable[0] = self;
11271 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction128].i]) return;
11272 return_label289: while(false);
11273 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction128].i] = 1;
11274 tracehead = trace.prev;
11275 return;
11276 }
11277 void parser___ReduceAction129___action(val_t self, val_t param0) {
11278 struct trace_t trace = {NULL, NULL, 6591, LOCATE_parser___ReduceAction129___action};
11279 val_t variable[26];
11280 void **closurevariable = NULL;
11281 trace.prev = tracehead; tracehead = &trace;
11282 trace.file = LOCATE_parser;
11283 variable[0] = self;
11284 variable[1] = param0;
11285 variable[3] = NIT_NULL /*null*/;
11286 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11287 variable[4] = variable[5];
11288 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11289 variable[5] = variable[6];
11290 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11291 variable[6] = variable[7];
11292 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11293 variable[7] = variable[8];
11294 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11295 variable[8] = variable[9];
11296 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11297 variable[9] = variable[10];
11298 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11299 variable[10] = variable[11];
11300 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11301 variable[11] = variable[12];
11302 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11303 variable[12] = variable[13];
11304 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11305 variable[13] = variable[14];
11306 variable[14] = variable[13] /*nodearraylist1*/;
11307 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11308 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6605); nit_exit(1);}
11309 variable[15] = variable[12] /*nodearraylist2*/;
11310 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11311 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6607); nit_exit(1);}
11312 variable[16] = variable[11] /*nodearraylist3*/;
11313 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
11314 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6609); nit_exit(1);}
11315 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[15] /*tkwredefnode4*/, variable[16] /*tkwreadablenode5*/); /*new AReadAble*/
11316 variable[17] = variable[18];
11317 variable[18] = variable[10] /*nodearraylist4*/;
11318 variable[19] = TAG_Bool(( variable[18] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11319 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6615); nit_exit(1);}
11320 variable[20] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[18] /*tkwwritablenode8*/); /*new AWriteAble*/
11321 variable[19] = variable[20];
11322 variable[20] = variable[9] /*nodearraylist5*/;
11323 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11324 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6621); nit_exit(1);}
11325 variable[21] = variable[8] /*nodearraylist6*/;
11326 variable[22] = TAG_Bool(( variable[21] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11327 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6623); nit_exit(1);}
11328 variable[22] = variable[7] /*nodearraylist7*/;
11329 variable[23] = TAG_Bool(( variable[22] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11330 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6625); nit_exit(1);}
11331 variable[23] = variable[4] /*nodearraylist10*/;
11332 variable[24] = TAG_Bool(( variable[23] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11333 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6627); nit_exit(1);}
11334 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*/
11335 variable[24] = variable[25];
11336 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
11337 variable[25] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11338 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
11339 return_label290: while(false);
11340 tracehead = trace.prev;
11341 return;
11342 }
11343 void parser___ReduceAction129___init(val_t self, int* init_table) {
11344 struct trace_t trace = {NULL, NULL, 6642, LOCATE_parser___ReduceAction129___init};
11345 val_t variable[2];
11346 void **closurevariable = NULL;
11347 trace.prev = tracehead; tracehead = &trace;
11348 trace.file = LOCATE_parser;
11349 variable[0] = self;
11350 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction129].i]) return;
11351 return_label291: while(false);
11352 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction129].i] = 1;
11353 tracehead = trace.prev;
11354 return;
11355 }
11356 void parser___ReduceAction130___action(val_t self, val_t param0) {
11357 struct trace_t trace = {NULL, NULL, 6646, LOCATE_parser___ReduceAction130___action};
11358 val_t variable[28];
11359 void **closurevariable = NULL;
11360 trace.prev = tracehead; tracehead = &trace;
11361 trace.file = LOCATE_parser;
11362 variable[0] = self;
11363 variable[1] = param0;
11364 variable[3] = NIT_NULL /*null*/;
11365 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11366 variable[4] = variable[5];
11367 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11368 variable[5] = variable[6];
11369 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11370 variable[6] = variable[7];
11371 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11372 variable[7] = variable[8];
11373 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11374 variable[8] = variable[9];
11375 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11376 variable[9] = variable[10];
11377 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11378 variable[10] = variable[11];
11379 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11380 variable[11] = variable[12];
11381 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11382 variable[12] = variable[13];
11383 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11384 variable[13] = variable[14];
11385 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11386 variable[14] = variable[15];
11387 variable[15] = variable[14] /*nodearraylist1*/;
11388 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11389 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6661); nit_exit(1);}
11390 variable[16] = variable[13] /*nodearraylist2*/;
11391 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11392 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6663); nit_exit(1);}
11393 variable[17] = variable[12] /*nodearraylist3*/;
11394 variable[18] = TAG_Bool(( variable[17] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
11395 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6665); nit_exit(1);}
11396 variable[19] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[16] /*tkwredefnode4*/, variable[17] /*tkwreadablenode5*/); /*new AReadAble*/
11397 variable[18] = variable[19];
11398 variable[19] = variable[11] /*nodearraylist4*/;
11399 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11400 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6671); nit_exit(1);}
11401 variable[20] = variable[10] /*nodearraylist5*/;
11402 variable[21] = TAG_Bool(( variable[20] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11403 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6673); nit_exit(1);}
11404 variable[22] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[19] /*tkwredefnode7*/, variable[20] /*tkwwritablenode8*/); /*new AWriteAble*/
11405 variable[21] = variable[22];
11406 variable[22] = variable[9] /*nodearraylist6*/;
11407 variable[23] = TAG_Bool(( variable[22] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[22] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11408 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6679); nit_exit(1);}
11409 variable[23] = variable[8] /*nodearraylist7*/;
11410 variable[24] = TAG_Bool(( variable[23] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[23] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11411 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6681); nit_exit(1);}
11412 variable[24] = variable[7] /*nodearraylist8*/;
11413 variable[25] = TAG_Bool(( variable[24] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[24] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11414 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6683); nit_exit(1);}
11415 variable[25] = variable[4] /*nodearraylist11*/;
11416 variable[26] = TAG_Bool(( variable[25] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11417 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6685); nit_exit(1);}
11418 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*/
11419 variable[26] = variable[27];
11420 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
11421 variable[27] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11422 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
11423 return_label292: while(false);
11424 tracehead = trace.prev;
11425 return;
11426 }
11427 void parser___ReduceAction130___init(val_t self, int* init_table) {
11428 struct trace_t trace = {NULL, NULL, 6700, LOCATE_parser___ReduceAction130___init};
11429 val_t variable[2];
11430 void **closurevariable = NULL;
11431 trace.prev = tracehead; tracehead = &trace;
11432 trace.file = LOCATE_parser;
11433 variable[0] = self;
11434 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction130].i]) return;
11435 return_label293: while(false);
11436 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction130].i] = 1;
11437 tracehead = trace.prev;
11438 return;
11439 }
11440 void parser___ReduceAction131___action(val_t self, val_t param0) {
11441 struct trace_t trace = {NULL, NULL, 6704, LOCATE_parser___ReduceAction131___action};
11442 val_t variable[23];
11443 void **closurevariable = NULL;
11444 trace.prev = tracehead; tracehead = &trace;
11445 trace.file = LOCATE_parser;
11446 variable[0] = self;
11447 variable[1] = param0;
11448 variable[3] = NIT_NULL /*null*/;
11449 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11450 variable[4] = variable[5];
11451 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11452 variable[5] = variable[6];
11453 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11454 variable[6] = variable[7];
11455 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11456 variable[7] = variable[8];
11457 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11458 variable[8] = variable[9];
11459 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11460 variable[9] = variable[10];
11461 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11462 variable[10] = variable[11];
11463 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11464 variable[11] = variable[12];
11465 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11466 variable[12] = variable[13];
11467 variable[13] = variable[12] /*nodearraylist1*/;
11468 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11469 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6717); nit_exit(1);}
11470 variable[14] = variable[11] /*nodearraylist2*/;
11471 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11472 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6719); nit_exit(1);}
11473 variable[15] = variable[10] /*nodearraylist3*/;
11474 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
11475 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6721); nit_exit(1);}
11476 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[14] /*tkwredefnode4*/, variable[15] /*tkwreadablenode5*/); /*new AReadAble*/
11477 variable[16] = variable[17];
11478 variable[17] = variable[9] /*nodearraylist4*/;
11479 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11480 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6727); nit_exit(1);}
11481 variable[18] = variable[8] /*nodearraylist5*/;
11482 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11483 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6729); nit_exit(1);}
11484 variable[19] = variable[7] /*nodearraylist6*/;
11485 variable[20] = TAG_Bool(( variable[19] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11486 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6731); nit_exit(1);}
11487 variable[20] = variable[4] /*nodearraylist9*/;
11488 variable[21] = TAG_Bool(( variable[20] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11489 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6733); nit_exit(1);}
11490 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*/
11491 variable[21] = variable[22];
11492 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
11493 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11494 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
11495 return_label294: while(false);
11496 tracehead = trace.prev;
11497 return;
11498 }
11499 void parser___ReduceAction131___init(val_t self, int* init_table) {
11500 struct trace_t trace = {NULL, NULL, 6748, LOCATE_parser___ReduceAction131___init};
11501 val_t variable[2];
11502 void **closurevariable = NULL;
11503 trace.prev = tracehead; tracehead = &trace;
11504 trace.file = LOCATE_parser;
11505 variable[0] = self;
11506 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction131].i]) return;
11507 return_label295: while(false);
11508 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction131].i] = 1;
11509 tracehead = trace.prev;
11510 return;
11511 }
11512 void parser___ReduceAction132___action(val_t self, val_t param0) {
11513 struct trace_t trace = {NULL, NULL, 6752, LOCATE_parser___ReduceAction132___action};
11514 val_t variable[21];
11515 void **closurevariable = NULL;
11516 trace.prev = tracehead; tracehead = &trace;
11517 trace.file = LOCATE_parser;
11518 variable[0] = self;
11519 variable[1] = param0;
11520 variable[3] = NIT_NULL /*null*/;
11521 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11522 variable[4] = variable[5];
11523 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11524 variable[5] = variable[6];
11525 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11526 variable[6] = variable[7];
11527 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11528 variable[7] = variable[8];
11529 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11530 variable[8] = variable[9];
11531 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11532 variable[9] = variable[10];
11533 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11534 variable[10] = variable[11];
11535 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11536 variable[11] = variable[12];
11537 variable[12] = variable[11] /*nodearraylist1*/;
11538 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11539 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6764); nit_exit(1);}
11540 variable[13] = variable[10] /*nodearraylist2*/;
11541 variable[14] = TAG_Bool(( variable[13] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11542 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6766); nit_exit(1);}
11543 variable[15] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[13] /*tkwwritablenode6*/); /*new AWriteAble*/
11544 variable[14] = variable[15];
11545 variable[15] = variable[9] /*nodearraylist3*/;
11546 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11547 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6772); nit_exit(1);}
11548 variable[16] = variable[8] /*nodearraylist4*/;
11549 variable[17] = TAG_Bool(( variable[16] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11550 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6774); nit_exit(1);}
11551 variable[17] = variable[7] /*nodearraylist5*/;
11552 variable[18] = TAG_Bool(( variable[17] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11553 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6776); nit_exit(1);}
11554 variable[18] = variable[4] /*nodearraylist8*/;
11555 variable[19] = TAG_Bool(( variable[18] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11556 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6778); nit_exit(1);}
11557 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*/
11558 variable[19] = variable[20];
11559 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
11560 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11561 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
11562 return_label296: while(false);
11563 tracehead = trace.prev;
11564 return;
11565 }
11566 void parser___ReduceAction132___init(val_t self, int* init_table) {
11567 struct trace_t trace = {NULL, NULL, 6793, LOCATE_parser___ReduceAction132___init};
11568 val_t variable[2];
11569 void **closurevariable = NULL;
11570 trace.prev = tracehead; tracehead = &trace;
11571 trace.file = LOCATE_parser;
11572 variable[0] = self;
11573 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction132].i]) return;
11574 return_label297: while(false);
11575 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction132].i] = 1;
11576 tracehead = trace.prev;
11577 return;
11578 }
11579 void parser___ReduceAction133___action(val_t self, val_t param0) {
11580 struct trace_t trace = {NULL, NULL, 6797, LOCATE_parser___ReduceAction133___action};
11581 val_t variable[23];
11582 void **closurevariable = NULL;
11583 trace.prev = tracehead; tracehead = &trace;
11584 trace.file = LOCATE_parser;
11585 variable[0] = self;
11586 variable[1] = param0;
11587 variable[3] = NIT_NULL /*null*/;
11588 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11589 variable[4] = variable[5];
11590 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11591 variable[5] = variable[6];
11592 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11593 variable[6] = variable[7];
11594 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11595 variable[7] = variable[8];
11596 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11597 variable[8] = variable[9];
11598 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11599 variable[9] = variable[10];
11600 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11601 variable[10] = variable[11];
11602 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11603 variable[11] = variable[12];
11604 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11605 variable[12] = variable[13];
11606 variable[13] = variable[12] /*nodearraylist1*/;
11607 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11608 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6810); nit_exit(1);}
11609 variable[14] = variable[11] /*nodearraylist2*/;
11610 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11611 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6812); nit_exit(1);}
11612 variable[15] = variable[10] /*nodearraylist3*/;
11613 variable[16] = TAG_Bool(( variable[15] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11614 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6814); nit_exit(1);}
11615 variable[17] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[14] /*tkwredefnode5*/, variable[15] /*tkwwritablenode6*/); /*new AWriteAble*/
11616 variable[16] = variable[17];
11617 variable[17] = variable[9] /*nodearraylist4*/;
11618 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11619 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6820); nit_exit(1);}
11620 variable[18] = variable[8] /*nodearraylist5*/;
11621 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11622 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6822); nit_exit(1);}
11623 variable[19] = variable[7] /*nodearraylist6*/;
11624 variable[20] = TAG_Bool(( variable[19] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11625 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6824); nit_exit(1);}
11626 variable[20] = variable[4] /*nodearraylist9*/;
11627 variable[21] = TAG_Bool(( variable[20] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11628 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6826); nit_exit(1);}
11629 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*/
11630 variable[21] = variable[22];
11631 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
11632 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11633 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
11634 return_label298: while(false);
11635 tracehead = trace.prev;
11636 return;
11637 }
11638 void parser___ReduceAction133___init(val_t self, int* init_table) {
11639 struct trace_t trace = {NULL, NULL, 6841, LOCATE_parser___ReduceAction133___init};
11640 val_t variable[2];
11641 void **closurevariable = NULL;
11642 trace.prev = tracehead; tracehead = &trace;
11643 trace.file = LOCATE_parser;
11644 variable[0] = self;
11645 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction133].i]) return;
11646 return_label299: while(false);
11647 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction133].i] = 1;
11648 tracehead = trace.prev;
11649 return;
11650 }
11651 void parser___ReduceAction134___action(val_t self, val_t param0) {
11652 struct trace_t trace = {NULL, NULL, 6845, LOCATE_parser___ReduceAction134___action};
11653 val_t variable[18];
11654 void **closurevariable = NULL;
11655 trace.prev = tracehead; tracehead = &trace;
11656 trace.file = LOCATE_parser;
11657 variable[0] = self;
11658 variable[1] = param0;
11659 variable[3] = NIT_NULL /*null*/;
11660 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11661 variable[4] = variable[5];
11662 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11663 variable[5] = variable[6];
11664 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11665 variable[6] = variable[7];
11666 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11667 variable[7] = variable[8];
11668 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11669 variable[8] = variable[9];
11670 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11671 variable[9] = variable[10];
11672 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11673 variable[10] = variable[11];
11674 variable[11] = variable[10] /*nodearraylist1*/;
11675 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11676 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction134___action, LOCATE_parser, 6856); nit_exit(1);}
11677 variable[12] = variable[9] /*nodearraylist2*/;
11678 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11679 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction134___action, LOCATE_parser, 6858); nit_exit(1);}
11680 variable[13] = variable[8] /*nodearraylist3*/;
11681 variable[14] = TAG_Bool(( variable[13] /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11682 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction134___action, LOCATE_parser, 6860); nit_exit(1);}
11683 variable[14] = variable[7] /*nodearraylist4*/;
11684 variable[15] = TAG_Bool(( variable[14] /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable[14] /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11685 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction134___action, LOCATE_parser, 6862); nit_exit(1);}
11686 variable[15] = variable[4] /*nodearraylist7*/;
11687 variable[16] = TAG_Bool(( variable[15] /*pexprnode10*/==NIT_NULL) || VAL_ISA( variable[15] /*pexprnode10*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11688 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction134___action, LOCATE_parser, 6864); nit_exit(1);}
11689 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*/
11690 variable[16] = variable[17];
11691 variable[3] = variable[16] /*ppropdefnode1*/ /*node_list=*/;
11692 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11693 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
11694 return_label300: while(false);
11695 tracehead = trace.prev;
11696 return;
11697 }
11698 void parser___ReduceAction134___init(val_t self, int* init_table) {
11699 struct trace_t trace = {NULL, NULL, 6879, LOCATE_parser___ReduceAction134___init};
11700 val_t variable[2];
11701 void **closurevariable = NULL;
11702 trace.prev = tracehead; tracehead = &trace;
11703 trace.file = LOCATE_parser;
11704 variable[0] = self;
11705 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction134].i]) return;
11706 return_label301: while(false);
11707 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction134].i] = 1;
11708 tracehead = trace.prev;
11709 return;
11710 }
11711 void parser___ReduceAction135___action(val_t self, val_t param0) {
11712 struct trace_t trace = {NULL, NULL, 6883, LOCATE_parser___ReduceAction135___action};
11713 val_t variable[26];
11714 void **closurevariable = NULL;
11715 trace.prev = tracehead; tracehead = &trace;
11716 trace.file = LOCATE_parser;
11717 variable[0] = self;
11718 variable[1] = param0;
11719 variable[3] = NIT_NULL /*null*/;
11720 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11721 variable[4] = variable[5];
11722 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11723 variable[5] = variable[6];
11724 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11725 variable[6] = variable[7];
11726 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11727 variable[7] = variable[8];
11728 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11729 variable[8] = variable[9];
11730 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11731 variable[9] = variable[10];
11732 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11733 variable[10] = variable[11];
11734 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11735 variable[11] = variable[12];
11736 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11737 variable[12] = variable[13];
11738 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11739 variable[13] = variable[14];
11740 variable[14] = variable[13] /*nodearraylist1*/;
11741 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11742 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 6897); nit_exit(1);}
11743 variable[15] = variable[12] /*nodearraylist2*/;
11744 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
11745 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 6899); nit_exit(1);}
11746 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[15] /*tkwreadablenode5*/); /*new AReadAble*/
11747 variable[16] = variable[17];
11748 variable[17] = variable[11] /*nodearraylist3*/;
11749 variable[18] = TAG_Bool(( variable[17] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11750 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 6905); nit_exit(1);}
11751 variable[19] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[17] /*tkwwritablenode8*/); /*new AWriteAble*/
11752 variable[18] = variable[19];
11753 variable[19] = variable[10] /*nodearraylist4*/;
11754 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11755 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 6911); nit_exit(1);}
11756 variable[20] = variable[9] /*nodearraylist5*/;
11757 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11758 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 6913); nit_exit(1);}
11759 variable[21] = variable[8] /*nodearraylist6*/;
11760 variable[22] = TAG_Bool(( variable[21] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11761 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 6915); nit_exit(1);}
11762 variable[22] = variable[7] /*nodearraylist7*/;
11763 variable[23] = TAG_Bool(( variable[22] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11764 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 6917); nit_exit(1);}
11765 variable[23] = variable[4] /*nodearraylist10*/;
11766 variable[24] = TAG_Bool(( variable[23] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11767 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 6919); nit_exit(1);}
11768 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*/
11769 variable[24] = variable[25];
11770 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
11771 variable[25] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11772 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
11773 return_label302: while(false);
11774 tracehead = trace.prev;
11775 return;
11776 }
11777 void parser___ReduceAction135___init(val_t self, int* init_table) {
11778 struct trace_t trace = {NULL, NULL, 6934, LOCATE_parser___ReduceAction135___init};
11779 val_t variable[2];
11780 void **closurevariable = NULL;
11781 trace.prev = tracehead; tracehead = &trace;
11782 trace.file = LOCATE_parser;
11783 variable[0] = self;
11784 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction135].i]) return;
11785 return_label303: while(false);
11786 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction135].i] = 1;
11787 tracehead = trace.prev;
11788 return;
11789 }
11790 void parser___ReduceAction136___action(val_t self, val_t param0) {
11791 struct trace_t trace = {NULL, NULL, 6938, LOCATE_parser___ReduceAction136___action};
11792 val_t variable[28];
11793 void **closurevariable = NULL;
11794 trace.prev = tracehead; tracehead = &trace;
11795 trace.file = LOCATE_parser;
11796 variable[0] = self;
11797 variable[1] = param0;
11798 variable[3] = NIT_NULL /*null*/;
11799 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11800 variable[4] = variable[5];
11801 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11802 variable[5] = variable[6];
11803 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11804 variable[6] = variable[7];
11805 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11806 variable[7] = variable[8];
11807 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11808 variable[8] = variable[9];
11809 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11810 variable[9] = variable[10];
11811 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11812 variable[10] = variable[11];
11813 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11814 variable[11] = variable[12];
11815 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11816 variable[12] = variable[13];
11817 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11818 variable[13] = variable[14];
11819 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11820 variable[14] = variable[15];
11821 variable[15] = variable[14] /*nodearraylist1*/;
11822 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11823 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 6953); nit_exit(1);}
11824 variable[16] = variable[13] /*nodearraylist2*/;
11825 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
11826 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 6955); nit_exit(1);}
11827 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[16] /*tkwreadablenode5*/); /*new AReadAble*/
11828 variable[17] = variable[18];
11829 variable[18] = variable[12] /*nodearraylist3*/;
11830 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11831 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 6961); nit_exit(1);}
11832 variable[19] = variable[11] /*nodearraylist4*/;
11833 variable[20] = TAG_Bool(( variable[19] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11834 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 6963); nit_exit(1);}
11835 variable[21] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[18] /*tkwredefnode7*/, variable[19] /*tkwwritablenode8*/); /*new AWriteAble*/
11836 variable[20] = variable[21];
11837 variable[21] = variable[10] /*nodearraylist5*/;
11838 variable[22] = TAG_Bool(( variable[21] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11839 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 6969); nit_exit(1);}
11840 variable[22] = variable[9] /*nodearraylist6*/;
11841 variable[23] = TAG_Bool(( variable[22] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[22] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11842 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 6971); nit_exit(1);}
11843 variable[23] = variable[8] /*nodearraylist7*/;
11844 variable[24] = TAG_Bool(( variable[23] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[23] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11845 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 6973); nit_exit(1);}
11846 variable[24] = variable[7] /*nodearraylist8*/;
11847 variable[25] = TAG_Bool(( variable[24] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[24] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11848 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 6975); nit_exit(1);}
11849 variable[25] = variable[4] /*nodearraylist11*/;
11850 variable[26] = TAG_Bool(( variable[25] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11851 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 6977); nit_exit(1);}
11852 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*/
11853 variable[26] = variable[27];
11854 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
11855 variable[27] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11856 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
11857 return_label304: while(false);
11858 tracehead = trace.prev;
11859 return;
11860 }
11861 void parser___ReduceAction136___init(val_t self, int* init_table) {
11862 struct trace_t trace = {NULL, NULL, 6992, LOCATE_parser___ReduceAction136___init};
11863 val_t variable[2];
11864 void **closurevariable = NULL;
11865 trace.prev = tracehead; tracehead = &trace;
11866 trace.file = LOCATE_parser;
11867 variable[0] = self;
11868 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction136].i]) return;
11869 return_label305: while(false);
11870 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction136].i] = 1;
11871 tracehead = trace.prev;
11872 return;
11873 }
11874 void parser___ReduceAction137___action(val_t self, val_t param0) {
11875 struct trace_t trace = {NULL, NULL, 6996, LOCATE_parser___ReduceAction137___action};
11876 val_t variable[23];
11877 void **closurevariable = NULL;
11878 trace.prev = tracehead; tracehead = &trace;
11879 trace.file = LOCATE_parser;
11880 variable[0] = self;
11881 variable[1] = param0;
11882 variable[3] = NIT_NULL /*null*/;
11883 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11884 variable[4] = variable[5];
11885 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11886 variable[5] = variable[6];
11887 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11888 variable[6] = variable[7];
11889 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11890 variable[7] = variable[8];
11891 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11892 variable[8] = variable[9];
11893 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11894 variable[9] = variable[10];
11895 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11896 variable[10] = variable[11];
11897 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11898 variable[11] = variable[12];
11899 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11900 variable[12] = variable[13];
11901 variable[13] = variable[12] /*nodearraylist1*/;
11902 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11903 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 7009); nit_exit(1);}
11904 variable[14] = variable[11] /*nodearraylist2*/;
11905 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
11906 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 7011); nit_exit(1);}
11907 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[14] /*tkwreadablenode5*/); /*new AReadAble*/
11908 variable[15] = variable[16];
11909 variable[16] = variable[10] /*nodearraylist3*/;
11910 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11911 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 7017); nit_exit(1);}
11912 variable[17] = variable[9] /*nodearraylist4*/;
11913 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11914 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 7019); nit_exit(1);}
11915 variable[18] = variable[8] /*nodearraylist5*/;
11916 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11917 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 7021); nit_exit(1);}
11918 variable[19] = variable[7] /*nodearraylist6*/;
11919 variable[20] = TAG_Bool(( variable[19] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11920 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 7023); nit_exit(1);}
11921 variable[20] = variable[4] /*nodearraylist9*/;
11922 variable[21] = TAG_Bool(( variable[20] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11923 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 7025); nit_exit(1);}
11924 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*/
11925 variable[21] = variable[22];
11926 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
11927 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11928 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
11929 return_label306: while(false);
11930 tracehead = trace.prev;
11931 return;
11932 }
11933 void parser___ReduceAction137___init(val_t self, int* init_table) {
11934 struct trace_t trace = {NULL, NULL, 7040, LOCATE_parser___ReduceAction137___init};
11935 val_t variable[2];
11936 void **closurevariable = NULL;
11937 trace.prev = tracehead; tracehead = &trace;
11938 trace.file = LOCATE_parser;
11939 variable[0] = self;
11940 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction137].i]) return;
11941 return_label307: while(false);
11942 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction137].i] = 1;
11943 tracehead = trace.prev;
11944 return;
11945 }
11946 void parser___ReduceAction138___action(val_t self, val_t param0) {
11947 struct trace_t trace = {NULL, NULL, 7044, LOCATE_parser___ReduceAction138___action};
11948 val_t variable[28];
11949 void **closurevariable = NULL;
11950 trace.prev = tracehead; tracehead = &trace;
11951 trace.file = LOCATE_parser;
11952 variable[0] = self;
11953 variable[1] = param0;
11954 variable[3] = NIT_NULL /*null*/;
11955 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11956 variable[4] = variable[5];
11957 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11958 variable[5] = variable[6];
11959 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11960 variable[6] = variable[7];
11961 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11962 variable[7] = variable[8];
11963 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11964 variable[8] = variable[9];
11965 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11966 variable[9] = variable[10];
11967 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11968 variable[10] = variable[11];
11969 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11970 variable[11] = variable[12];
11971 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11972 variable[12] = variable[13];
11973 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11974 variable[13] = variable[14];
11975 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11976 variable[14] = variable[15];
11977 variable[15] = variable[14] /*nodearraylist1*/;
11978 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11979 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7059); nit_exit(1);}
11980 variable[16] = variable[13] /*nodearraylist2*/;
11981 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11982 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7061); nit_exit(1);}
11983 variable[17] = variable[12] /*nodearraylist3*/;
11984 variable[18] = TAG_Bool(( variable[17] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
11985 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7063); nit_exit(1);}
11986 variable[19] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[16] /*tkwredefnode4*/, variable[17] /*tkwreadablenode5*/); /*new AReadAble*/
11987 variable[18] = variable[19];
11988 variable[19] = variable[11] /*nodearraylist4*/;
11989 variable[20] = TAG_Bool(( variable[19] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11990 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7069); nit_exit(1);}
11991 variable[21] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[19] /*tkwwritablenode8*/); /*new AWriteAble*/
11992 variable[20] = variable[21];
11993 variable[21] = variable[10] /*nodearraylist5*/;
11994 variable[22] = TAG_Bool(( variable[21] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11995 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7075); nit_exit(1);}
11996 variable[22] = variable[9] /*nodearraylist6*/;
11997 variable[23] = TAG_Bool(( variable[22] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[22] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11998 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7077); nit_exit(1);}
11999 variable[23] = variable[8] /*nodearraylist7*/;
12000 variable[24] = TAG_Bool(( variable[23] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[23] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12001 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7079); nit_exit(1);}
12002 variable[24] = variable[7] /*nodearraylist8*/;
12003 variable[25] = TAG_Bool(( variable[24] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[24] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12004 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7081); nit_exit(1);}
12005 variable[25] = variable[4] /*nodearraylist11*/;
12006 variable[26] = TAG_Bool(( variable[25] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12007 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7083); nit_exit(1);}
12008 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*/
12009 variable[26] = variable[27];
12010 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
12011 variable[27] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12012 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
12013 return_label308: while(false);
12014 tracehead = trace.prev;
12015 return;
12016 }
12017 void parser___ReduceAction138___init(val_t self, int* init_table) {
12018 struct trace_t trace = {NULL, NULL, 7098, LOCATE_parser___ReduceAction138___init};
12019 val_t variable[2];
12020 void **closurevariable = NULL;
12021 trace.prev = tracehead; tracehead = &trace;
12022 trace.file = LOCATE_parser;
12023 variable[0] = self;
12024 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction138].i]) return;
12025 return_label309: while(false);
12026 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction138].i] = 1;
12027 tracehead = trace.prev;
12028 return;
12029 }
12030 void parser___ReduceAction139___action(val_t self, val_t param0) {
12031 struct trace_t trace = {NULL, NULL, 7102, LOCATE_parser___ReduceAction139___action};
12032 val_t variable[30];
12033 void **closurevariable = NULL;
12034 trace.prev = tracehead; tracehead = &trace;
12035 trace.file = LOCATE_parser;
12036 variable[0] = self;
12037 variable[1] = param0;
12038 variable[3] = NIT_NULL /*null*/;
12039 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12040 variable[4] = variable[5];
12041 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12042 variable[5] = variable[6];
12043 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12044 variable[6] = variable[7];
12045 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12046 variable[7] = variable[8];
12047 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12048 variable[8] = variable[9];
12049 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12050 variable[9] = variable[10];
12051 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12052 variable[10] = variable[11];
12053 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12054 variable[11] = variable[12];
12055 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12056 variable[12] = variable[13];
12057 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12058 variable[13] = variable[14];
12059 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12060 variable[14] = variable[15];
12061 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12062 variable[15] = variable[16];
12063 variable[16] = variable[15] /*nodearraylist1*/;
12064 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12065 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7118); nit_exit(1);}
12066 variable[17] = variable[14] /*nodearraylist2*/;
12067 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12068 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7120); nit_exit(1);}
12069 variable[18] = variable[13] /*nodearraylist3*/;
12070 variable[19] = TAG_Bool(( variable[18] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
12071 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7122); nit_exit(1);}
12072 variable[20] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[17] /*tkwredefnode4*/, variable[18] /*tkwreadablenode5*/); /*new AReadAble*/
12073 variable[19] = variable[20];
12074 variable[20] = variable[12] /*nodearraylist4*/;
12075 variable[21] = TAG_Bool(( variable[20] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12076 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7128); nit_exit(1);}
12077 variable[21] = variable[11] /*nodearraylist5*/;
12078 variable[22] = TAG_Bool(( variable[21] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
12079 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7130); nit_exit(1);}
12080 variable[23] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[20] /*tkwredefnode7*/, variable[21] /*tkwwritablenode8*/); /*new AWriteAble*/
12081 variable[22] = variable[23];
12082 variable[23] = variable[10] /*nodearraylist6*/;
12083 variable[24] = TAG_Bool(( variable[23] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[23] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12084 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7136); nit_exit(1);}
12085 variable[24] = variable[9] /*nodearraylist7*/;
12086 variable[25] = TAG_Bool(( variable[24] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[24] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12087 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7138); nit_exit(1);}
12088 variable[25] = variable[8] /*nodearraylist8*/;
12089 variable[26] = TAG_Bool(( variable[25] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[25] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12090 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7140); nit_exit(1);}
12091 variable[26] = variable[7] /*nodearraylist9*/;
12092 variable[27] = TAG_Bool(( variable[26] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[26] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12093 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7142); nit_exit(1);}
12094 variable[27] = variable[4] /*nodearraylist12*/;
12095 variable[28] = TAG_Bool(( variable[27] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[27] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12096 if (!UNTAG_Bool(variable[28])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7144); nit_exit(1);}
12097 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*/
12098 variable[28] = variable[29];
12099 variable[3] = variable[28] /*ppropdefnode1*/ /*node_list=*/;
12100 variable[29] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12101 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[29], variable[3] /*node_list*/) /*Parser::push*/;
12102 return_label310: while(false);
12103 tracehead = trace.prev;
12104 return;
12105 }
12106 void parser___ReduceAction139___init(val_t self, int* init_table) {
12107 struct trace_t trace = {NULL, NULL, 7159, LOCATE_parser___ReduceAction139___init};
12108 val_t variable[2];
12109 void **closurevariable = NULL;
12110 trace.prev = tracehead; tracehead = &trace;
12111 trace.file = LOCATE_parser;
12112 variable[0] = self;
12113 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction139].i]) return;
12114 return_label311: while(false);
12115 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction139].i] = 1;
12116 tracehead = trace.prev;
12117 return;
12118 }
12119 void parser___ReduceAction140___action(val_t self, val_t param0) {
12120 struct trace_t trace = {NULL, NULL, 7163, LOCATE_parser___ReduceAction140___action};
12121 val_t variable[25];
12122 void **closurevariable = NULL;
12123 trace.prev = tracehead; tracehead = &trace;
12124 trace.file = LOCATE_parser;
12125 variable[0] = self;
12126 variable[1] = param0;
12127 variable[3] = NIT_NULL /*null*/;
12128 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12129 variable[4] = variable[5];
12130 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12131 variable[5] = variable[6];
12132 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12133 variable[6] = variable[7];
12134 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12135 variable[7] = variable[8];
12136 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12137 variable[8] = variable[9];
12138 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12139 variable[9] = variable[10];
12140 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12141 variable[10] = variable[11];
12142 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12143 variable[11] = variable[12];
12144 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12145 variable[12] = variable[13];
12146 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12147 variable[13] = variable[14];
12148 variable[14] = variable[13] /*nodearraylist1*/;
12149 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12150 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7177); nit_exit(1);}
12151 variable[15] = variable[12] /*nodearraylist2*/;
12152 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12153 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7179); nit_exit(1);}
12154 variable[16] = variable[11] /*nodearraylist3*/;
12155 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
12156 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7181); nit_exit(1);}
12157 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[15] /*tkwredefnode4*/, variable[16] /*tkwreadablenode5*/); /*new AReadAble*/
12158 variable[17] = variable[18];
12159 variable[18] = variable[10] /*nodearraylist4*/;
12160 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12161 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7187); nit_exit(1);}
12162 variable[19] = variable[9] /*nodearraylist5*/;
12163 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12164 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7189); nit_exit(1);}
12165 variable[20] = variable[8] /*nodearraylist6*/;
12166 variable[21] = TAG_Bool(( variable[20] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12167 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7191); nit_exit(1);}
12168 variable[21] = variable[7] /*nodearraylist7*/;
12169 variable[22] = TAG_Bool(( variable[21] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[21] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12170 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7193); nit_exit(1);}
12171 variable[22] = variable[4] /*nodearraylist10*/;
12172 variable[23] = TAG_Bool(( variable[22] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12173 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7195); nit_exit(1);}
12174 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*/
12175 variable[23] = variable[24];
12176 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
12177 variable[24] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12178 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
12179 return_label312: while(false);
12180 tracehead = trace.prev;
12181 return;
12182 }
12183 void parser___ReduceAction140___init(val_t self, int* init_table) {
12184 struct trace_t trace = {NULL, NULL, 7210, LOCATE_parser___ReduceAction140___init};
12185 val_t variable[2];
12186 void **closurevariable = NULL;
12187 trace.prev = tracehead; tracehead = &trace;
12188 trace.file = LOCATE_parser;
12189 variable[0] = self;
12190 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction140].i]) return;
12191 return_label313: while(false);
12192 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction140].i] = 1;
12193 tracehead = trace.prev;
12194 return;
12195 }
12196 void parser___ReduceAction141___action(val_t self, val_t param0) {
12197 struct trace_t trace = {NULL, NULL, 7214, LOCATE_parser___ReduceAction141___action};
12198 val_t variable[23];
12199 void **closurevariable = NULL;
12200 trace.prev = tracehead; tracehead = &trace;
12201 trace.file = LOCATE_parser;
12202 variable[0] = self;
12203 variable[1] = param0;
12204 variable[3] = NIT_NULL /*null*/;
12205 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12206 variable[4] = variable[5];
12207 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12208 variable[5] = variable[6];
12209 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12210 variable[6] = variable[7];
12211 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12212 variable[7] = variable[8];
12213 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12214 variable[8] = variable[9];
12215 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12216 variable[9] = variable[10];
12217 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12218 variable[10] = variable[11];
12219 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12220 variable[11] = variable[12];
12221 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12222 variable[12] = variable[13];
12223 variable[13] = variable[12] /*nodearraylist1*/;
12224 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12225 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7227); nit_exit(1);}
12226 variable[14] = variable[11] /*nodearraylist2*/;
12227 variable[15] = TAG_Bool(( variable[14] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
12228 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7229); nit_exit(1);}
12229 variable[16] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[14] /*tkwwritablenode6*/); /*new AWriteAble*/
12230 variable[15] = variable[16];
12231 variable[16] = variable[10] /*nodearraylist3*/;
12232 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12233 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7235); nit_exit(1);}
12234 variable[17] = variable[9] /*nodearraylist4*/;
12235 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12236 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7237); nit_exit(1);}
12237 variable[18] = variable[8] /*nodearraylist5*/;
12238 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12239 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7239); nit_exit(1);}
12240 variable[19] = variable[7] /*nodearraylist6*/;
12241 variable[20] = TAG_Bool(( variable[19] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12242 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7241); nit_exit(1);}
12243 variable[20] = variable[4] /*nodearraylist9*/;
12244 variable[21] = TAG_Bool(( variable[20] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12245 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7243); nit_exit(1);}
12246 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*/
12247 variable[21] = variable[22];
12248 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
12249 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12250 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
12251 return_label314: while(false);
12252 tracehead = trace.prev;
12253 return;
12254 }
12255 void parser___ReduceAction141___init(val_t self, int* init_table) {
12256 struct trace_t trace = {NULL, NULL, 7258, LOCATE_parser___ReduceAction141___init};
12257 val_t variable[2];
12258 void **closurevariable = NULL;
12259 trace.prev = tracehead; tracehead = &trace;
12260 trace.file = LOCATE_parser;
12261 variable[0] = self;
12262 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction141].i]) return;
12263 return_label315: while(false);
12264 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction141].i] = 1;
12265 tracehead = trace.prev;
12266 return;
12267 }
12268 void parser___ReduceAction142___action(val_t self, val_t param0) {
12269 struct trace_t trace = {NULL, NULL, 7262, LOCATE_parser___ReduceAction142___action};
12270 val_t variable[25];
12271 void **closurevariable = NULL;
12272 trace.prev = tracehead; tracehead = &trace;
12273 trace.file = LOCATE_parser;
12274 variable[0] = self;
12275 variable[1] = param0;
12276 variable[3] = NIT_NULL /*null*/;
12277 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12278 variable[4] = variable[5];
12279 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12280 variable[5] = variable[6];
12281 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12282 variable[6] = variable[7];
12283 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12284 variable[7] = variable[8];
12285 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12286 variable[8] = variable[9];
12287 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12288 variable[9] = variable[10];
12289 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12290 variable[10] = variable[11];
12291 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12292 variable[11] = variable[12];
12293 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12294 variable[12] = variable[13];
12295 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12296 variable[13] = variable[14];
12297 variable[14] = variable[13] /*nodearraylist1*/;
12298 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12299 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7276); nit_exit(1);}
12300 variable[15] = variable[12] /*nodearraylist2*/;
12301 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12302 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7278); nit_exit(1);}
12303 variable[16] = variable[11] /*nodearraylist3*/;
12304 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
12305 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7280); nit_exit(1);}
12306 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[15] /*tkwredefnode5*/, variable[16] /*tkwwritablenode6*/); /*new AWriteAble*/
12307 variable[17] = variable[18];
12308 variable[18] = variable[10] /*nodearraylist4*/;
12309 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12310 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7286); nit_exit(1);}
12311 variable[19] = variable[9] /*nodearraylist5*/;
12312 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12313 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7288); nit_exit(1);}
12314 variable[20] = variable[8] /*nodearraylist6*/;
12315 variable[21] = TAG_Bool(( variable[20] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12316 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7290); nit_exit(1);}
12317 variable[21] = variable[7] /*nodearraylist7*/;
12318 variable[22] = TAG_Bool(( variable[21] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[21] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12319 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7292); nit_exit(1);}
12320 variable[22] = variable[4] /*nodearraylist10*/;
12321 variable[23] = TAG_Bool(( variable[22] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12322 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7294); nit_exit(1);}
12323 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*/
12324 variable[23] = variable[24];
12325 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
12326 variable[24] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12327 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
12328 return_label316: while(false);
12329 tracehead = trace.prev;
12330 return;
12331 }
12332 void parser___ReduceAction142___init(val_t self, int* init_table) {
12333 struct trace_t trace = {NULL, NULL, 7309, LOCATE_parser___ReduceAction142___init};
12334 val_t variable[2];
12335 void **closurevariable = NULL;
12336 trace.prev = tracehead; tracehead = &trace;
12337 trace.file = LOCATE_parser;
12338 variable[0] = self;
12339 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction142].i]) return;
12340 return_label317: while(false);
12341 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction142].i] = 1;
12342 tracehead = trace.prev;
12343 return;
12344 }
12345 void parser___ReduceAction143___action(val_t self, val_t param0) {
12346 struct trace_t trace = {NULL, NULL, 7313, LOCATE_parser___ReduceAction143___action};
12347 val_t variable[20];
12348 void **closurevariable = NULL;
12349 trace.prev = tracehead; tracehead = &trace;
12350 trace.file = LOCATE_parser;
12351 variable[0] = self;
12352 variable[1] = param0;
12353 variable[3] = NIT_NULL /*null*/;
12354 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12355 variable[4] = variable[5];
12356 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12357 variable[5] = variable[6];
12358 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12359 variable[6] = variable[7];
12360 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12361 variable[7] = variable[8];
12362 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12363 variable[8] = variable[9];
12364 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12365 variable[9] = variable[10];
12366 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12367 variable[10] = variable[11];
12368 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12369 variable[11] = variable[12];
12370 variable[12] = variable[11] /*nodearraylist1*/;
12371 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12372 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction143___action, LOCATE_parser, 7325); nit_exit(1);}
12373 variable[13] = variable[10] /*nodearraylist2*/;
12374 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12375 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction143___action, LOCATE_parser, 7327); nit_exit(1);}
12376 variable[14] = variable[9] /*nodearraylist3*/;
12377 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12378 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction143___action, LOCATE_parser, 7329); nit_exit(1);}
12379 variable[15] = variable[8] /*nodearraylist4*/;
12380 variable[16] = TAG_Bool(( variable[15] /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12381 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction143___action, LOCATE_parser, 7331); nit_exit(1);}
12382 variable[16] = variable[7] /*nodearraylist5*/;
12383 variable[17] = TAG_Bool(( variable[16] /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable[16] /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12384 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction143___action, LOCATE_parser, 7333); nit_exit(1);}
12385 variable[17] = variable[4] /*nodearraylist8*/;
12386 variable[18] = TAG_Bool(( variable[17] /*pexprnode10*/==NIT_NULL) || VAL_ISA( variable[17] /*pexprnode10*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12387 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction143___action, LOCATE_parser, 7335); nit_exit(1);}
12388 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*/
12389 variable[18] = variable[19];
12390 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
12391 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12392 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
12393 return_label318: while(false);
12394 tracehead = trace.prev;
12395 return;
12396 }
12397 void parser___ReduceAction143___init(val_t self, int* init_table) {
12398 struct trace_t trace = {NULL, NULL, 7350, LOCATE_parser___ReduceAction143___init};
12399 val_t variable[2];
12400 void **closurevariable = NULL;
12401 trace.prev = tracehead; tracehead = &trace;
12402 trace.file = LOCATE_parser;
12403 variable[0] = self;
12404 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction143].i]) return;
12405 return_label319: while(false);
12406 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction143].i] = 1;
12407 tracehead = trace.prev;
12408 return;
12409 }
12410 void parser___ReduceAction144___action(val_t self, val_t param0) {
12411 struct trace_t trace = {NULL, NULL, 7354, LOCATE_parser___ReduceAction144___action};
12412 val_t variable[26];
12413 void **closurevariable = NULL;
12414 trace.prev = tracehead; tracehead = &trace;
12415 trace.file = LOCATE_parser;
12416 variable[0] = self;
12417 variable[1] = param0;
12418 variable[3] = NIT_NULL /*null*/;
12419 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12420 variable[4] = variable[5];
12421 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12422 variable[5] = variable[6];
12423 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12424 variable[6] = variable[7];
12425 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12426 variable[7] = variable[8];
12427 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12428 variable[8] = variable[9];
12429 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12430 variable[9] = variable[10];
12431 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12432 variable[10] = variable[11];
12433 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12434 variable[11] = variable[12];
12435 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12436 variable[12] = variable[13];
12437 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12438 variable[13] = variable[14];
12439 variable[14] = variable[13] /*nodearraylist1*/;
12440 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12441 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7368); nit_exit(1);}
12442 variable[15] = variable[12] /*nodearraylist2*/;
12443 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
12444 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7370); nit_exit(1);}
12445 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[15] /*tkwreadablenode5*/); /*new AReadAble*/
12446 variable[16] = variable[17];
12447 variable[17] = variable[11] /*nodearraylist3*/;
12448 variable[18] = TAG_Bool(( variable[17] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
12449 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7376); nit_exit(1);}
12450 variable[19] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[17] /*tkwwritablenode8*/); /*new AWriteAble*/
12451 variable[18] = variable[19];
12452 variable[19] = variable[10] /*nodearraylist4*/;
12453 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12454 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7382); nit_exit(1);}
12455 variable[20] = variable[9] /*nodearraylist5*/;
12456 variable[21] = TAG_Bool(( variable[20] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12457 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7384); nit_exit(1);}
12458 variable[21] = variable[8] /*nodearraylist6*/;
12459 variable[22] = TAG_Bool(( variable[21] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[21] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12460 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7386); nit_exit(1);}
12461 variable[22] = variable[7] /*nodearraylist7*/;
12462 variable[23] = TAG_Bool(( variable[22] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[22] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
12463 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7388); nit_exit(1);}
12464 variable[23] = variable[4] /*nodearraylist10*/;
12465 variable[24] = TAG_Bool(( variable[23] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12466 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7390); nit_exit(1);}
12467 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*/
12468 variable[24] = variable[25];
12469 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
12470 variable[25] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12471 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
12472 return_label320: while(false);
12473 tracehead = trace.prev;
12474 return;
12475 }
12476 void parser___ReduceAction144___init(val_t self, int* init_table) {
12477 struct trace_t trace = {NULL, NULL, 7405, LOCATE_parser___ReduceAction144___init};
12478 val_t variable[2];
12479 void **closurevariable = NULL;
12480 trace.prev = tracehead; tracehead = &trace;
12481 trace.file = LOCATE_parser;
12482 variable[0] = self;
12483 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction144].i]) return;
12484 return_label321: while(false);
12485 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction144].i] = 1;
12486 tracehead = trace.prev;
12487 return;
12488 }
12489 void parser___ReduceAction145___action(val_t self, val_t param0) {
12490 struct trace_t trace = {NULL, NULL, 7409, LOCATE_parser___ReduceAction145___action};
12491 val_t variable[28];
12492 void **closurevariable = NULL;
12493 trace.prev = tracehead; tracehead = &trace;
12494 trace.file = LOCATE_parser;
12495 variable[0] = self;
12496 variable[1] = param0;
12497 variable[3] = NIT_NULL /*null*/;
12498 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12499 variable[4] = variable[5];
12500 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12501 variable[5] = variable[6];
12502 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12503 variable[6] = variable[7];
12504 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12505 variable[7] = variable[8];
12506 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12507 variable[8] = variable[9];
12508 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12509 variable[9] = variable[10];
12510 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12511 variable[10] = variable[11];
12512 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12513 variable[11] = variable[12];
12514 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12515 variable[12] = variable[13];
12516 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12517 variable[13] = variable[14];
12518 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12519 variable[14] = variable[15];
12520 variable[15] = variable[14] /*nodearraylist1*/;
12521 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12522 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7424); nit_exit(1);}
12523 variable[16] = variable[13] /*nodearraylist2*/;
12524 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
12525 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7426); nit_exit(1);}
12526 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[16] /*tkwreadablenode5*/); /*new AReadAble*/
12527 variable[17] = variable[18];
12528 variable[18] = variable[12] /*nodearraylist3*/;
12529 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12530 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7432); nit_exit(1);}
12531 variable[19] = variable[11] /*nodearraylist4*/;
12532 variable[20] = TAG_Bool(( variable[19] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
12533 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7434); nit_exit(1);}
12534 variable[21] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[18] /*tkwredefnode7*/, variable[19] /*tkwwritablenode8*/); /*new AWriteAble*/
12535 variable[20] = variable[21];
12536 variable[21] = variable[10] /*nodearraylist5*/;
12537 variable[22] = TAG_Bool(( variable[21] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[21] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12538 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7440); nit_exit(1);}
12539 variable[22] = variable[9] /*nodearraylist6*/;
12540 variable[23] = TAG_Bool(( variable[22] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12541 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7442); nit_exit(1);}
12542 variable[23] = variable[8] /*nodearraylist7*/;
12543 variable[24] = TAG_Bool(( variable[23] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[23] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12544 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7444); nit_exit(1);}
12545 variable[24] = variable[7] /*nodearraylist8*/;
12546 variable[25] = TAG_Bool(( variable[24] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[24] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
12547 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7446); nit_exit(1);}
12548 variable[25] = variable[4] /*nodearraylist11*/;
12549 variable[26] = TAG_Bool(( variable[25] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12550 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7448); nit_exit(1);}
12551 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*/
12552 variable[26] = variable[27];
12553 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
12554 variable[27] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12555 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
12556 return_label322: while(false);
12557 tracehead = trace.prev;
12558 return;
12559 }
12560 void parser___ReduceAction145___init(val_t self, int* init_table) {
12561 struct trace_t trace = {NULL, NULL, 7463, LOCATE_parser___ReduceAction145___init};
12562 val_t variable[2];
12563 void **closurevariable = NULL;
12564 trace.prev = tracehead; tracehead = &trace;
12565 trace.file = LOCATE_parser;
12566 variable[0] = self;
12567 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction145].i]) return;
12568 return_label323: while(false);
12569 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction145].i] = 1;
12570 tracehead = trace.prev;
12571 return;
12572 }
12573 void parser___ReduceAction146___action(val_t self, val_t param0) {
12574 struct trace_t trace = {NULL, NULL, 7467, LOCATE_parser___ReduceAction146___action};
12575 val_t variable[23];
12576 void **closurevariable = NULL;
12577 trace.prev = tracehead; tracehead = &trace;
12578 trace.file = LOCATE_parser;
12579 variable[0] = self;
12580 variable[1] = param0;
12581 variable[3] = NIT_NULL /*null*/;
12582 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12583 variable[4] = variable[5];
12584 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12585 variable[5] = variable[6];
12586 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12587 variable[6] = variable[7];
12588 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12589 variable[7] = variable[8];
12590 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12591 variable[8] = variable[9];
12592 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12593 variable[9] = variable[10];
12594 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12595 variable[10] = variable[11];
12596 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12597 variable[11] = variable[12];
12598 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12599 variable[12] = variable[13];
12600 variable[13] = variable[12] /*nodearraylist1*/;
12601 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12602 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction146___action, LOCATE_parser, 7480); nit_exit(1);}
12603 variable[14] = variable[11] /*nodearraylist2*/;
12604 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
12605 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction146___action, LOCATE_parser, 7482); nit_exit(1);}
12606 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[14] /*tkwreadablenode5*/); /*new AReadAble*/
12607 variable[15] = variable[16];
12608 variable[16] = variable[10] /*nodearraylist3*/;
12609 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12610 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction146___action, LOCATE_parser, 7488); nit_exit(1);}
12611 variable[17] = variable[9] /*nodearraylist4*/;
12612 variable[18] = TAG_Bool(( variable[17] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12613 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction146___action, LOCATE_parser, 7490); nit_exit(1);}
12614 variable[18] = variable[8] /*nodearraylist5*/;
12615 variable[19] = TAG_Bool(( variable[18] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[18] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12616 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction146___action, LOCATE_parser, 7492); nit_exit(1);}
12617 variable[19] = variable[7] /*nodearraylist6*/;
12618 variable[20] = TAG_Bool(( variable[19] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
12619 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction146___action, LOCATE_parser, 7494); nit_exit(1);}
12620 variable[20] = variable[4] /*nodearraylist9*/;
12621 variable[21] = TAG_Bool(( variable[20] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12622 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction146___action, LOCATE_parser, 7496); nit_exit(1);}
12623 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*/
12624 variable[21] = variable[22];
12625 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
12626 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12627 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
12628 return_label324: while(false);
12629 tracehead = trace.prev;
12630 return;
12631 }
12632 void parser___ReduceAction146___init(val_t self, int* init_table) {
12633 struct trace_t trace = {NULL, NULL, 7511, LOCATE_parser___ReduceAction146___init};
12634 val_t variable[2];
12635 void **closurevariable = NULL;
12636 trace.prev = tracehead; tracehead = &trace;
12637 trace.file = LOCATE_parser;
12638 variable[0] = self;
12639 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction146].i]) return;
12640 return_label325: while(false);
12641 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction146].i] = 1;
12642 tracehead = trace.prev;
12643 return;
12644 }
12645 void parser___ReduceAction147___action(val_t self, val_t param0) {
12646 struct trace_t trace = {NULL, NULL, 7515, LOCATE_parser___ReduceAction147___action};
12647 val_t variable[28];
12648 void **closurevariable = NULL;
12649 trace.prev = tracehead; tracehead = &trace;
12650 trace.file = LOCATE_parser;
12651 variable[0] = self;
12652 variable[1] = param0;
12653 variable[3] = NIT_NULL /*null*/;
12654 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12655 variable[4] = variable[5];
12656 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12657 variable[5] = variable[6];
12658 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12659 variable[6] = variable[7];
12660 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12661 variable[7] = variable[8];
12662 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12663 variable[8] = variable[9];
12664 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12665 variable[9] = variable[10];
12666 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12667 variable[10] = variable[11];
12668 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12669 variable[11] = variable[12];
12670 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12671 variable[12] = variable[13];
12672 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12673 variable[13] = variable[14];
12674 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12675 variable[14] = variable[15];
12676 variable[15] = variable[14] /*nodearraylist1*/;
12677 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12678 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7530); nit_exit(1);}
12679 variable[16] = variable[13] /*nodearraylist2*/;
12680 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12681 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7532); nit_exit(1);}
12682 variable[17] = variable[12] /*nodearraylist3*/;
12683 variable[18] = TAG_Bool(( variable[17] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
12684 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7534); nit_exit(1);}
12685 variable[19] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[16] /*tkwredefnode4*/, variable[17] /*tkwreadablenode5*/); /*new AReadAble*/
12686 variable[18] = variable[19];
12687 variable[19] = variable[11] /*nodearraylist4*/;
12688 variable[20] = TAG_Bool(( variable[19] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
12689 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7540); nit_exit(1);}
12690 variable[21] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[19] /*tkwwritablenode8*/); /*new AWriteAble*/
12691 variable[20] = variable[21];
12692 variable[21] = variable[10] /*nodearraylist5*/;
12693 variable[22] = TAG_Bool(( variable[21] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[21] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12694 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7546); nit_exit(1);}
12695 variable[22] = variable[9] /*nodearraylist6*/;
12696 variable[23] = TAG_Bool(( variable[22] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12697 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7548); nit_exit(1);}
12698 variable[23] = variable[8] /*nodearraylist7*/;
12699 variable[24] = TAG_Bool(( variable[23] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[23] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12700 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7550); nit_exit(1);}
12701 variable[24] = variable[7] /*nodearraylist8*/;
12702 variable[25] = TAG_Bool(( variable[24] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[24] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
12703 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7552); nit_exit(1);}
12704 variable[25] = variable[4] /*nodearraylist11*/;
12705 variable[26] = TAG_Bool(( variable[25] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12706 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7554); nit_exit(1);}
12707 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*/
12708 variable[26] = variable[27];
12709 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
12710 variable[27] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12711 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
12712 return_label326: while(false);
12713 tracehead = trace.prev;
12714 return;
12715 }
12716 void parser___ReduceAction147___init(val_t self, int* init_table) {
12717 struct trace_t trace = {NULL, NULL, 7569, LOCATE_parser___ReduceAction147___init};
12718 val_t variable[2];
12719 void **closurevariable = NULL;
12720 trace.prev = tracehead; tracehead = &trace;
12721 trace.file = LOCATE_parser;
12722 variable[0] = self;
12723 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction147].i]) return;
12724 return_label327: while(false);
12725 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction147].i] = 1;
12726 tracehead = trace.prev;
12727 return;
12728 }
12729 void parser___ReduceAction148___action(val_t self, val_t param0) {
12730 struct trace_t trace = {NULL, NULL, 7573, LOCATE_parser___ReduceAction148___action};
12731 val_t variable[30];
12732 void **closurevariable = NULL;
12733 trace.prev = tracehead; tracehead = &trace;
12734 trace.file = LOCATE_parser;
12735 variable[0] = self;
12736 variable[1] = param0;
12737 variable[3] = NIT_NULL /*null*/;
12738 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12739 variable[4] = variable[5];
12740 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12741 variable[5] = variable[6];
12742 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12743 variable[6] = variable[7];
12744 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12745 variable[7] = variable[8];
12746 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12747 variable[8] = variable[9];
12748 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12749 variable[9] = variable[10];
12750 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12751 variable[10] = variable[11];
12752 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12753 variable[11] = variable[12];
12754 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12755 variable[12] = variable[13];
12756 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12757 variable[13] = variable[14];
12758 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12759 variable[14] = variable[15];
12760 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12761 variable[15] = variable[16];
12762 variable[16] = variable[15] /*nodearraylist1*/;
12763 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12764 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7589); nit_exit(1);}
12765 variable[17] = variable[14] /*nodearraylist2*/;
12766 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12767 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7591); nit_exit(1);}
12768 variable[18] = variable[13] /*nodearraylist3*/;
12769 variable[19] = TAG_Bool(( variable[18] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
12770 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7593); nit_exit(1);}
12771 variable[20] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[17] /*tkwredefnode4*/, variable[18] /*tkwreadablenode5*/); /*new AReadAble*/
12772 variable[19] = variable[20];
12773 variable[20] = variable[12] /*nodearraylist4*/;
12774 variable[21] = TAG_Bool(( variable[20] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12775 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7599); nit_exit(1);}
12776 variable[21] = variable[11] /*nodearraylist5*/;
12777 variable[22] = TAG_Bool(( variable[21] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
12778 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7601); nit_exit(1);}
12779 variable[23] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[20] /*tkwredefnode7*/, variable[21] /*tkwwritablenode8*/); /*new AWriteAble*/
12780 variable[22] = variable[23];
12781 variable[23] = variable[10] /*nodearraylist6*/;
12782 variable[24] = TAG_Bool(( variable[23] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[23] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12783 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7607); nit_exit(1);}
12784 variable[24] = variable[9] /*nodearraylist7*/;
12785 variable[25] = TAG_Bool(( variable[24] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[24] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12786 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7609); nit_exit(1);}
12787 variable[25] = variable[8] /*nodearraylist8*/;
12788 variable[26] = TAG_Bool(( variable[25] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[25] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12789 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7611); nit_exit(1);}
12790 variable[26] = variable[7] /*nodearraylist9*/;
12791 variable[27] = TAG_Bool(( variable[26] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[26] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
12792 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7613); nit_exit(1);}
12793 variable[27] = variable[4] /*nodearraylist12*/;
12794 variable[28] = TAG_Bool(( variable[27] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[27] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12795 if (!UNTAG_Bool(variable[28])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7615); nit_exit(1);}
12796 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*/
12797 variable[28] = variable[29];
12798 variable[3] = variable[28] /*ppropdefnode1*/ /*node_list=*/;
12799 variable[29] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12800 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[29], variable[3] /*node_list*/) /*Parser::push*/;
12801 return_label328: while(false);
12802 tracehead = trace.prev;
12803 return;
12804 }
12805 void parser___ReduceAction148___init(val_t self, int* init_table) {
12806 struct trace_t trace = {NULL, NULL, 7630, LOCATE_parser___ReduceAction148___init};
12807 val_t variable[2];
12808 void **closurevariable = NULL;
12809 trace.prev = tracehead; tracehead = &trace;
12810 trace.file = LOCATE_parser;
12811 variable[0] = self;
12812 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction148].i]) return;
12813 return_label329: while(false);
12814 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction148].i] = 1;
12815 tracehead = trace.prev;
12816 return;
12817 }
12818 void parser___ReduceAction149___action(val_t self, val_t param0) {
12819 struct trace_t trace = {NULL, NULL, 7634, LOCATE_parser___ReduceAction149___action};
12820 val_t variable[25];
12821 void **closurevariable = NULL;
12822 trace.prev = tracehead; tracehead = &trace;
12823 trace.file = LOCATE_parser;
12824 variable[0] = self;
12825 variable[1] = param0;
12826 variable[3] = NIT_NULL /*null*/;
12827 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12828 variable[4] = variable[5];
12829 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12830 variable[5] = variable[6];
12831 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12832 variable[6] = variable[7];
12833 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12834 variable[7] = variable[8];
12835 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12836 variable[8] = variable[9];
12837 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12838 variable[9] = variable[10];
12839 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12840 variable[10] = variable[11];
12841 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12842 variable[11] = variable[12];
12843 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12844 variable[12] = variable[13];
12845 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12846 variable[13] = variable[14];
12847 variable[14] = variable[13] /*nodearraylist1*/;
12848 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12849 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7648); nit_exit(1);}
12850 variable[15] = variable[12] /*nodearraylist2*/;
12851 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12852 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7650); nit_exit(1);}
12853 variable[16] = variable[11] /*nodearraylist3*/;
12854 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
12855 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7652); nit_exit(1);}
12856 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[15] /*tkwredefnode4*/, variable[16] /*tkwreadablenode5*/); /*new AReadAble*/
12857 variable[17] = variable[18];
12858 variable[18] = variable[10] /*nodearraylist4*/;
12859 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12860 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7658); nit_exit(1);}
12861 variable[19] = variable[9] /*nodearraylist5*/;
12862 variable[20] = TAG_Bool(( variable[19] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12863 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7660); nit_exit(1);}
12864 variable[20] = variable[8] /*nodearraylist6*/;
12865 variable[21] = TAG_Bool(( variable[20] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12866 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7662); nit_exit(1);}
12867 variable[21] = variable[7] /*nodearraylist7*/;
12868 variable[22] = TAG_Bool(( variable[21] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
12869 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7664); nit_exit(1);}
12870 variable[22] = variable[4] /*nodearraylist10*/;
12871 variable[23] = TAG_Bool(( variable[22] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12872 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7666); nit_exit(1);}
12873 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*/
12874 variable[23] = variable[24];
12875 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
12876 variable[24] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12877 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
12878 return_label330: while(false);
12879 tracehead = trace.prev;
12880 return;
12881 }
12882 void parser___ReduceAction149___init(val_t self, int* init_table) {
12883 struct trace_t trace = {NULL, NULL, 7681, LOCATE_parser___ReduceAction149___init};
12884 val_t variable[2];
12885 void **closurevariable = NULL;
12886 trace.prev = tracehead; tracehead = &trace;
12887 trace.file = LOCATE_parser;
12888 variable[0] = self;
12889 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction149].i]) return;
12890 return_label331: while(false);
12891 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction149].i] = 1;
12892 tracehead = trace.prev;
12893 return;
12894 }
12895 void parser___ReduceAction150___action(val_t self, val_t param0) {
12896 struct trace_t trace = {NULL, NULL, 7685, LOCATE_parser___ReduceAction150___action};
12897 val_t variable[23];
12898 void **closurevariable = NULL;
12899 trace.prev = tracehead; tracehead = &trace;
12900 trace.file = LOCATE_parser;
12901 variable[0] = self;
12902 variable[1] = param0;
12903 variable[3] = NIT_NULL /*null*/;
12904 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12905 variable[4] = variable[5];
12906 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12907 variable[5] = variable[6];
12908 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12909 variable[6] = variable[7];
12910 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12911 variable[7] = variable[8];
12912 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12913 variable[8] = variable[9];
12914 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12915 variable[9] = variable[10];
12916 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12917 variable[10] = variable[11];
12918 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12919 variable[11] = variable[12];
12920 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12921 variable[12] = variable[13];
12922 variable[13] = variable[12] /*nodearraylist1*/;
12923 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12924 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7698); nit_exit(1);}
12925 variable[14] = variable[11] /*nodearraylist2*/;
12926 variable[15] = TAG_Bool(( variable[14] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
12927 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7700); nit_exit(1);}
12928 variable[16] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[14] /*tkwwritablenode6*/); /*new AWriteAble*/
12929 variable[15] = variable[16];
12930 variable[16] = variable[10] /*nodearraylist3*/;
12931 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12932 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7706); nit_exit(1);}
12933 variable[17] = variable[9] /*nodearraylist4*/;
12934 variable[18] = TAG_Bool(( variable[17] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12935 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7708); nit_exit(1);}
12936 variable[18] = variable[8] /*nodearraylist5*/;
12937 variable[19] = TAG_Bool(( variable[18] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[18] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12938 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7710); nit_exit(1);}
12939 variable[19] = variable[7] /*nodearraylist6*/;
12940 variable[20] = TAG_Bool(( variable[19] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
12941 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7712); nit_exit(1);}
12942 variable[20] = variable[4] /*nodearraylist9*/;
12943 variable[21] = TAG_Bool(( variable[20] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12944 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7714); nit_exit(1);}
12945 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*/
12946 variable[21] = variable[22];
12947 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
12948 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12949 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
12950 return_label332: while(false);
12951 tracehead = trace.prev;
12952 return;
12953 }
12954 void parser___ReduceAction150___init(val_t self, int* init_table) {
12955 struct trace_t trace = {NULL, NULL, 7729, LOCATE_parser___ReduceAction150___init};
12956 val_t variable[2];
12957 void **closurevariable = NULL;
12958 trace.prev = tracehead; tracehead = &trace;
12959 trace.file = LOCATE_parser;
12960 variable[0] = self;
12961 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction150].i]) return;
12962 return_label333: while(false);
12963 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction150].i] = 1;
12964 tracehead = trace.prev;
12965 return;
12966 }
12967 void parser___ReduceAction151___action(val_t self, val_t param0) {
12968 struct trace_t trace = {NULL, NULL, 7733, LOCATE_parser___ReduceAction151___action};
12969 val_t variable[25];
12970 void **closurevariable = NULL;
12971 trace.prev = tracehead; tracehead = &trace;
12972 trace.file = LOCATE_parser;
12973 variable[0] = self;
12974 variable[1] = param0;
12975 variable[3] = NIT_NULL /*null*/;
12976 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12977 variable[4] = variable[5];
12978 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12979 variable[5] = variable[6];
12980 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12981 variable[6] = variable[7];
12982 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12983 variable[7] = variable[8];
12984 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12985 variable[8] = variable[9];
12986 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12987 variable[9] = variable[10];
12988 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12989 variable[10] = variable[11];
12990 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12991 variable[11] = variable[12];
12992 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12993 variable[12] = variable[13];
12994 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12995 variable[13] = variable[14];
12996 variable[14] = variable[13] /*nodearraylist1*/;
12997 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12998 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7747); nit_exit(1);}
12999 variable[15] = variable[12] /*nodearraylist2*/;
13000 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13001 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7749); nit_exit(1);}
13002 variable[16] = variable[11] /*nodearraylist3*/;
13003 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
13004 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7751); nit_exit(1);}
13005 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[15] /*tkwredefnode5*/, variable[16] /*tkwwritablenode6*/); /*new AWriteAble*/
13006 variable[17] = variable[18];
13007 variable[18] = variable[10] /*nodearraylist4*/;
13008 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13009 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7757); nit_exit(1);}
13010 variable[19] = variable[9] /*nodearraylist5*/;
13011 variable[20] = TAG_Bool(( variable[19] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13012 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7759); nit_exit(1);}
13013 variable[20] = variable[8] /*nodearraylist6*/;
13014 variable[21] = TAG_Bool(( variable[20] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13015 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7761); nit_exit(1);}
13016 variable[21] = variable[7] /*nodearraylist7*/;
13017 variable[22] = TAG_Bool(( variable[21] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
13018 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7763); nit_exit(1);}
13019 variable[22] = variable[4] /*nodearraylist10*/;
13020 variable[23] = TAG_Bool(( variable[22] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13021 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7765); nit_exit(1);}
13022 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*/
13023 variable[23] = variable[24];
13024 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
13025 variable[24] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13026 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
13027 return_label334: while(false);
13028 tracehead = trace.prev;
13029 return;
13030 }
13031 void parser___ReduceAction151___init(val_t self, int* init_table) {
13032 struct trace_t trace = {NULL, NULL, 7780, LOCATE_parser___ReduceAction151___init};
13033 val_t variable[2];
13034 void **closurevariable = NULL;
13035 trace.prev = tracehead; tracehead = &trace;
13036 trace.file = LOCATE_parser;
13037 variable[0] = self;
13038 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction151].i]) return;
13039 return_label335: while(false);
13040 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction151].i] = 1;
13041 tracehead = trace.prev;
13042 return;
13043 }
13044 void parser___ReduceAction152___action(val_t self, val_t param0) {
13045 struct trace_t trace = {NULL, NULL, 7784, LOCATE_parser___ReduceAction152___action};
13046 val_t variable[20];
13047 void **closurevariable = NULL;
13048 trace.prev = tracehead; tracehead = &trace;
13049 trace.file = LOCATE_parser;
13050 variable[0] = self;
13051 variable[1] = param0;
13052 variable[3] = NIT_NULL /*null*/;
13053 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13054 variable[4] = variable[5];
13055 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13056 variable[5] = variable[6];
13057 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13058 variable[6] = variable[7];
13059 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13060 variable[7] = variable[8];
13061 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13062 variable[8] = variable[9];
13063 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13064 variable[9] = variable[10];
13065 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13066 variable[10] = variable[11];
13067 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13068 variable[11] = variable[12];
13069 variable[12] = variable[11] /*nodearraylist1*/;
13070 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13071 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction152___action, LOCATE_parser, 7796); nit_exit(1);}
13072 variable[13] = variable[10] /*nodearraylist2*/;
13073 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13074 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction152___action, LOCATE_parser, 7798); nit_exit(1);}
13075 variable[14] = variable[9] /*nodearraylist3*/;
13076 variable[15] = TAG_Bool(( variable[14] /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13077 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction152___action, LOCATE_parser, 7800); nit_exit(1);}
13078 variable[15] = variable[8] /*nodearraylist4*/;
13079 variable[16] = TAG_Bool(( variable[15] /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable[15] /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13080 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction152___action, LOCATE_parser, 7802); nit_exit(1);}
13081 variable[16] = variable[7] /*nodearraylist5*/;
13082 variable[17] = TAG_Bool(( variable[16] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[16] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
13083 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction152___action, LOCATE_parser, 7804); nit_exit(1);}
13084 variable[17] = variable[4] /*nodearraylist8*/;
13085 variable[18] = TAG_Bool(( variable[17] /*pexprnode10*/==NIT_NULL) || VAL_ISA( variable[17] /*pexprnode10*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13086 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction152___action, LOCATE_parser, 7806); nit_exit(1);}
13087 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*/
13088 variable[18] = variable[19];
13089 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
13090 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13091 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
13092 return_label336: while(false);
13093 tracehead = trace.prev;
13094 return;
13095 }
13096 void parser___ReduceAction152___init(val_t self, int* init_table) {
13097 struct trace_t trace = {NULL, NULL, 7821, LOCATE_parser___ReduceAction152___init};
13098 val_t variable[2];
13099 void **closurevariable = NULL;
13100 trace.prev = tracehead; tracehead = &trace;
13101 trace.file = LOCATE_parser;
13102 variable[0] = self;
13103 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction152].i]) return;
13104 return_label337: while(false);
13105 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction152].i] = 1;
13106 tracehead = trace.prev;
13107 return;
13108 }
13109 void parser___ReduceAction153___action(val_t self, val_t param0) {
13110 struct trace_t trace = {NULL, NULL, 7825, LOCATE_parser___ReduceAction153___action};
13111 val_t variable[28];
13112 void **closurevariable = NULL;
13113 trace.prev = tracehead; tracehead = &trace;
13114 trace.file = LOCATE_parser;
13115 variable[0] = self;
13116 variable[1] = param0;
13117 variable[3] = NIT_NULL /*null*/;
13118 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13119 variable[4] = variable[5];
13120 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13121 variable[5] = variable[6];
13122 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13123 variable[6] = variable[7];
13124 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13125 variable[7] = variable[8];
13126 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13127 variable[8] = variable[9];
13128 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13129 variable[9] = variable[10];
13130 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13131 variable[10] = variable[11];
13132 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13133 variable[11] = variable[12];
13134 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13135 variable[12] = variable[13];
13136 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13137 variable[13] = variable[14];
13138 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13139 variable[14] = variable[15];
13140 variable[15] = variable[14] /*nodearraylist1*/;
13141 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13142 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 7840); nit_exit(1);}
13143 variable[16] = variable[13] /*nodearraylist2*/;
13144 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
13145 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 7842); nit_exit(1);}
13146 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[16] /*tkwreadablenode5*/); /*new AReadAble*/
13147 variable[17] = variable[18];
13148 variable[18] = variable[12] /*nodearraylist3*/;
13149 variable[19] = TAG_Bool(( variable[18] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
13150 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 7848); nit_exit(1);}
13151 variable[20] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[18] /*tkwwritablenode8*/); /*new AWriteAble*/
13152 variable[19] = variable[20];
13153 variable[20] = variable[11] /*nodearraylist4*/;
13154 variable[21] = TAG_Bool(( variable[20] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13155 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 7854); nit_exit(1);}
13156 variable[21] = variable[10] /*nodearraylist5*/;
13157 variable[22] = TAG_Bool(( variable[21] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[21] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13158 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 7856); nit_exit(1);}
13159 variable[22] = variable[9] /*nodearraylist6*/;
13160 variable[23] = TAG_Bool(( variable[22] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13161 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 7858); nit_exit(1);}
13162 variable[23] = variable[8] /*nodearraylist7*/;
13163 variable[24] = TAG_Bool(( variable[23] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[23] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13164 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 7860); nit_exit(1);}
13165 variable[24] = variable[7] /*nodearraylist8*/;
13166 variable[25] = TAG_Bool(( variable[24] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[24] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
13167 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 7862); nit_exit(1);}
13168 variable[25] = variable[4] /*nodearraylist11*/;
13169 variable[26] = TAG_Bool(( variable[25] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13170 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 7864); nit_exit(1);}
13171 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*/
13172 variable[26] = variable[27];
13173 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
13174 variable[27] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13175 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
13176 return_label338: while(false);
13177 tracehead = trace.prev;
13178 return;
13179 }
13180 void parser___ReduceAction153___init(val_t self, int* init_table) {
13181 struct trace_t trace = {NULL, NULL, 7879, LOCATE_parser___ReduceAction153___init};
13182 val_t variable[2];
13183 void **closurevariable = NULL;
13184 trace.prev = tracehead; tracehead = &trace;
13185 trace.file = LOCATE_parser;
13186 variable[0] = self;
13187 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction153].i]) return;
13188 return_label339: while(false);
13189 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction153].i] = 1;
13190 tracehead = trace.prev;
13191 return;
13192 }
13193 void parser___ReduceAction154___action(val_t self, val_t param0) {
13194 struct trace_t trace = {NULL, NULL, 7883, LOCATE_parser___ReduceAction154___action};
13195 val_t variable[30];
13196 void **closurevariable = NULL;
13197 trace.prev = tracehead; tracehead = &trace;
13198 trace.file = LOCATE_parser;
13199 variable[0] = self;
13200 variable[1] = param0;
13201 variable[3] = NIT_NULL /*null*/;
13202 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13203 variable[4] = variable[5];
13204 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13205 variable[5] = variable[6];
13206 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13207 variable[6] = variable[7];
13208 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13209 variable[7] = variable[8];
13210 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13211 variable[8] = variable[9];
13212 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13213 variable[9] = variable[10];
13214 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13215 variable[10] = variable[11];
13216 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13217 variable[11] = variable[12];
13218 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13219 variable[12] = variable[13];
13220 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13221 variable[13] = variable[14];
13222 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13223 variable[14] = variable[15];
13224 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13225 variable[15] = variable[16];
13226 variable[16] = variable[15] /*nodearraylist1*/;
13227 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13228 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7899); nit_exit(1);}
13229 variable[17] = variable[14] /*nodearraylist2*/;
13230 variable[18] = TAG_Bool(( variable[17] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
13231 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7901); nit_exit(1);}
13232 variable[19] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[17] /*tkwreadablenode5*/); /*new AReadAble*/
13233 variable[18] = variable[19];
13234 variable[19] = variable[13] /*nodearraylist3*/;
13235 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13236 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7907); nit_exit(1);}
13237 variable[20] = variable[12] /*nodearraylist4*/;
13238 variable[21] = TAG_Bool(( variable[20] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
13239 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7909); nit_exit(1);}
13240 variable[22] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[19] /*tkwredefnode7*/, variable[20] /*tkwwritablenode8*/); /*new AWriteAble*/
13241 variable[21] = variable[22];
13242 variable[22] = variable[11] /*nodearraylist5*/;
13243 variable[23] = TAG_Bool(( variable[22] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13244 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7915); nit_exit(1);}
13245 variable[23] = variable[10] /*nodearraylist6*/;
13246 variable[24] = TAG_Bool(( variable[23] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[23] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13247 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7917); nit_exit(1);}
13248 variable[24] = variable[9] /*nodearraylist7*/;
13249 variable[25] = TAG_Bool(( variable[24] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[24] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13250 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7919); nit_exit(1);}
13251 variable[25] = variable[8] /*nodearraylist8*/;
13252 variable[26] = TAG_Bool(( variable[25] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[25] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13253 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7921); nit_exit(1);}
13254 variable[26] = variable[7] /*nodearraylist9*/;
13255 variable[27] = TAG_Bool(( variable[26] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[26] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
13256 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7923); nit_exit(1);}
13257 variable[27] = variable[4] /*nodearraylist12*/;
13258 variable[28] = TAG_Bool(( variable[27] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[27] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13259 if (!UNTAG_Bool(variable[28])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7925); nit_exit(1);}
13260 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*/
13261 variable[28] = variable[29];
13262 variable[3] = variable[28] /*ppropdefnode1*/ /*node_list=*/;
13263 variable[29] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13264 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[29], variable[3] /*node_list*/) /*Parser::push*/;
13265 return_label340: while(false);
13266 tracehead = trace.prev;
13267 return;
13268 }
13269 void parser___ReduceAction154___init(val_t self, int* init_table) {
13270 struct trace_t trace = {NULL, NULL, 7940, LOCATE_parser___ReduceAction154___init};
13271 val_t variable[2];
13272 void **closurevariable = NULL;
13273 trace.prev = tracehead; tracehead = &trace;
13274 trace.file = LOCATE_parser;
13275 variable[0] = self;
13276 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction154].i]) return;
13277 return_label341: while(false);
13278 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction154].i] = 1;
13279 tracehead = trace.prev;
13280 return;
13281 }
13282 void parser___ReduceAction155___action(val_t self, val_t param0) {
13283 struct trace_t trace = {NULL, NULL, 7944, LOCATE_parser___ReduceAction155___action};
13284 val_t variable[25];
13285 void **closurevariable = NULL;
13286 trace.prev = tracehead; tracehead = &trace;
13287 trace.file = LOCATE_parser;
13288 variable[0] = self;
13289 variable[1] = param0;
13290 variable[3] = NIT_NULL /*null*/;
13291 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13292 variable[4] = variable[5];
13293 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13294 variable[5] = variable[6];
13295 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13296 variable[6] = variable[7];
13297 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13298 variable[7] = variable[8];
13299 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13300 variable[8] = variable[9];
13301 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13302 variable[9] = variable[10];
13303 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13304 variable[10] = variable[11];
13305 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13306 variable[11] = variable[12];
13307 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13308 variable[12] = variable[13];
13309 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13310 variable[13] = variable[14];
13311 variable[14] = variable[13] /*nodearraylist1*/;
13312 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13313 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 7958); nit_exit(1);}
13314 variable[15] = variable[12] /*nodearraylist2*/;
13315 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
13316 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 7960); nit_exit(1);}
13317 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[15] /*tkwreadablenode5*/); /*new AReadAble*/
13318 variable[16] = variable[17];
13319 variable[17] = variable[11] /*nodearraylist3*/;
13320 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13321 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 7966); nit_exit(1);}
13322 variable[18] = variable[10] /*nodearraylist4*/;
13323 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13324 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 7968); nit_exit(1);}
13325 variable[19] = variable[9] /*nodearraylist5*/;
13326 variable[20] = TAG_Bool(( variable[19] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13327 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 7970); nit_exit(1);}
13328 variable[20] = variable[8] /*nodearraylist6*/;
13329 variable[21] = TAG_Bool(( variable[20] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13330 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 7972); nit_exit(1);}
13331 variable[21] = variable[7] /*nodearraylist7*/;
13332 variable[22] = TAG_Bool(( variable[21] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
13333 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 7974); nit_exit(1);}
13334 variable[22] = variable[4] /*nodearraylist10*/;
13335 variable[23] = TAG_Bool(( variable[22] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13336 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 7976); nit_exit(1);}
13337 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*/
13338 variable[23] = variable[24];
13339 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
13340 variable[24] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13341 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
13342 return_label342: while(false);
13343 tracehead = trace.prev;
13344 return;
13345 }
13346 void parser___ReduceAction155___init(val_t self, int* init_table) {
13347 struct trace_t trace = {NULL, NULL, 7991, LOCATE_parser___ReduceAction155___init};
13348 val_t variable[2];
13349 void **closurevariable = NULL;
13350 trace.prev = tracehead; tracehead = &trace;
13351 trace.file = LOCATE_parser;
13352 variable[0] = self;
13353 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction155].i]) return;
13354 return_label343: while(false);
13355 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction155].i] = 1;
13356 tracehead = trace.prev;
13357 return;
13358 }
13359 void parser___ReduceAction156___action(val_t self, val_t param0) {
13360 struct trace_t trace = {NULL, NULL, 7995, LOCATE_parser___ReduceAction156___action};
13361 val_t variable[30];
13362 void **closurevariable = NULL;
13363 trace.prev = tracehead; tracehead = &trace;
13364 trace.file = LOCATE_parser;
13365 variable[0] = self;
13366 variable[1] = param0;
13367 variable[3] = NIT_NULL /*null*/;
13368 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13369 variable[4] = variable[5];
13370 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13371 variable[5] = variable[6];
13372 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13373 variable[6] = variable[7];
13374 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13375 variable[7] = variable[8];
13376 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13377 variable[8] = variable[9];
13378 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13379 variable[9] = variable[10];
13380 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13381 variable[10] = variable[11];
13382 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13383 variable[11] = variable[12];
13384 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13385 variable[12] = variable[13];
13386 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13387 variable[13] = variable[14];
13388 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13389 variable[14] = variable[15];
13390 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13391 variable[15] = variable[16];
13392 variable[16] = variable[15] /*nodearraylist1*/;
13393 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13394 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 8011); nit_exit(1);}
13395 variable[17] = variable[14] /*nodearraylist2*/;
13396 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13397 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 8013); nit_exit(1);}
13398 variable[18] = variable[13] /*nodearraylist3*/;
13399 variable[19] = TAG_Bool(( variable[18] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
13400 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 8015); nit_exit(1);}
13401 variable[20] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[17] /*tkwredefnode4*/, variable[18] /*tkwreadablenode5*/); /*new AReadAble*/
13402 variable[19] = variable[20];
13403 variable[20] = variable[12] /*nodearraylist4*/;
13404 variable[21] = TAG_Bool(( variable[20] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
13405 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 8021); nit_exit(1);}
13406 variable[22] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[20] /*tkwwritablenode8*/); /*new AWriteAble*/
13407 variable[21] = variable[22];
13408 variable[22] = variable[11] /*nodearraylist5*/;
13409 variable[23] = TAG_Bool(( variable[22] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13410 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 8027); nit_exit(1);}
13411 variable[23] = variable[10] /*nodearraylist6*/;
13412 variable[24] = TAG_Bool(( variable[23] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[23] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13413 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 8029); nit_exit(1);}
13414 variable[24] = variable[9] /*nodearraylist7*/;
13415 variable[25] = TAG_Bool(( variable[24] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[24] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13416 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 8031); nit_exit(1);}
13417 variable[25] = variable[8] /*nodearraylist8*/;
13418 variable[26] = TAG_Bool(( variable[25] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[25] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13419 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 8033); nit_exit(1);}
13420 variable[26] = variable[7] /*nodearraylist9*/;
13421 variable[27] = TAG_Bool(( variable[26] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[26] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
13422 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 8035); nit_exit(1);}
13423 variable[27] = variable[4] /*nodearraylist12*/;
13424 variable[28] = TAG_Bool(( variable[27] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[27] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13425 if (!UNTAG_Bool(variable[28])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 8037); nit_exit(1);}
13426 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*/
13427 variable[28] = variable[29];
13428 variable[3] = variable[28] /*ppropdefnode1*/ /*node_list=*/;
13429 variable[29] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13430 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[29], variable[3] /*node_list*/) /*Parser::push*/;
13431 return_label344: while(false);
13432 tracehead = trace.prev;
13433 return;
13434 }
13435 void parser___ReduceAction156___init(val_t self, int* init_table) {
13436 struct trace_t trace = {NULL, NULL, 8052, LOCATE_parser___ReduceAction156___init};
13437 val_t variable[2];
13438 void **closurevariable = NULL;
13439 trace.prev = tracehead; tracehead = &trace;
13440 trace.file = LOCATE_parser;
13441 variable[0] = self;
13442 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction156].i]) return;
13443 return_label345: while(false);
13444 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction156].i] = 1;
13445 tracehead = trace.prev;
13446 return;
13447 }
13448 void parser___ReduceAction157___action(val_t self, val_t param0) {
13449 struct trace_t trace = {NULL, NULL, 8056, LOCATE_parser___ReduceAction157___action};
13450 val_t variable[32];
13451 void **closurevariable = NULL;
13452 trace.prev = tracehead; tracehead = &trace;
13453 trace.file = LOCATE_parser;
13454 variable[0] = self;
13455 variable[1] = param0;
13456 variable[3] = NIT_NULL /*null*/;
13457 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13458 variable[4] = variable[5];
13459 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13460 variable[5] = variable[6];
13461 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13462 variable[6] = variable[7];
13463 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13464 variable[7] = variable[8];
13465 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13466 variable[8] = variable[9];
13467 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13468 variable[9] = variable[10];
13469 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13470 variable[10] = variable[11];
13471 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13472 variable[11] = variable[12];
13473 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13474 variable[12] = variable[13];
13475 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13476 variable[13] = variable[14];
13477 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13478 variable[14] = variable[15];
13479 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13480 variable[15] = variable[16];
13481 variable[17] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13482 variable[16] = variable[17];
13483 variable[17] = variable[16] /*nodearraylist1*/;
13484 variable[18] = TAG_Bool(( variable[17] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[17] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13485 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8073); nit_exit(1);}
13486 variable[18] = variable[15] /*nodearraylist2*/;
13487 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13488 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8075); nit_exit(1);}
13489 variable[19] = variable[14] /*nodearraylist3*/;
13490 variable[20] = TAG_Bool(( variable[19] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
13491 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8077); nit_exit(1);}
13492 variable[21] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[18] /*tkwredefnode4*/, variable[19] /*tkwreadablenode5*/); /*new AReadAble*/
13493 variable[20] = variable[21];
13494 variable[21] = variable[13] /*nodearraylist4*/;
13495 variable[22] = TAG_Bool(( variable[21] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13496 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8083); nit_exit(1);}
13497 variable[22] = variable[12] /*nodearraylist5*/;
13498 variable[23] = TAG_Bool(( variable[22] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
13499 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8085); nit_exit(1);}
13500 variable[24] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[21] /*tkwredefnode7*/, variable[22] /*tkwwritablenode8*/); /*new AWriteAble*/
13501 variable[23] = variable[24];
13502 variable[24] = variable[11] /*nodearraylist6*/;
13503 variable[25] = TAG_Bool(( variable[24] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[24] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13504 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8091); nit_exit(1);}
13505 variable[25] = variable[10] /*nodearraylist7*/;
13506 variable[26] = TAG_Bool(( variable[25] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[25] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13507 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8093); nit_exit(1);}
13508 variable[26] = variable[9] /*nodearraylist8*/;
13509 variable[27] = TAG_Bool(( variable[26] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[26] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13510 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8095); nit_exit(1);}
13511 variable[27] = variable[8] /*nodearraylist9*/;
13512 variable[28] = TAG_Bool(( variable[27] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[27] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13513 if (!UNTAG_Bool(variable[28])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8097); nit_exit(1);}
13514 variable[28] = variable[7] /*nodearraylist10*/;
13515 variable[29] = TAG_Bool(( variable[28] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[28] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
13516 if (!UNTAG_Bool(variable[29])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8099); nit_exit(1);}
13517 variable[29] = variable[4] /*nodearraylist13*/;
13518 variable[30] = TAG_Bool(( variable[29] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[29] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13519 if (!UNTAG_Bool(variable[30])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8101); nit_exit(1);}
13520 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*/
13521 variable[30] = variable[31];
13522 variable[3] = variable[30] /*ppropdefnode1*/ /*node_list=*/;
13523 variable[31] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13524 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[31], variable[3] /*node_list*/) /*Parser::push*/;
13525 return_label346: while(false);
13526 tracehead = trace.prev;
13527 return;
13528 }
13529 void parser___ReduceAction157___init(val_t self, int* init_table) {
13530 struct trace_t trace = {NULL, NULL, 8116, LOCATE_parser___ReduceAction157___init};
13531 val_t variable[2];
13532 void **closurevariable = NULL;
13533 trace.prev = tracehead; tracehead = &trace;
13534 trace.file = LOCATE_parser;
13535 variable[0] = self;
13536 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction157].i]) return;
13537 return_label347: while(false);
13538 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction157].i] = 1;
13539 tracehead = trace.prev;
13540 return;
13541 }
13542 void parser___ReduceAction158___action(val_t self, val_t param0) {
13543 struct trace_t trace = {NULL, NULL, 8120, LOCATE_parser___ReduceAction158___action};
13544 val_t variable[27];
13545 void **closurevariable = NULL;
13546 trace.prev = tracehead; tracehead = &trace;
13547 trace.file = LOCATE_parser;
13548 variable[0] = self;
13549 variable[1] = param0;
13550 variable[3] = NIT_NULL /*null*/;
13551 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13552 variable[4] = variable[5];
13553 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13554 variable[5] = variable[6];
13555 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13556 variable[6] = variable[7];
13557 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13558 variable[7] = variable[8];
13559 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13560 variable[8] = variable[9];
13561 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13562 variable[9] = variable[10];
13563 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13564 variable[10] = variable[11];
13565 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13566 variable[11] = variable[12];
13567 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13568 variable[12] = variable[13];
13569 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13570 variable[13] = variable[14];
13571 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13572 variable[14] = variable[15];
13573 variable[15] = variable[14] /*nodearraylist1*/;
13574 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13575 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8135); nit_exit(1);}
13576 variable[16] = variable[13] /*nodearraylist2*/;
13577 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13578 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8137); nit_exit(1);}
13579 variable[17] = variable[12] /*nodearraylist3*/;
13580 variable[18] = TAG_Bool(( variable[17] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
13581 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8139); nit_exit(1);}
13582 variable[19] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[16] /*tkwredefnode4*/, variable[17] /*tkwreadablenode5*/); /*new AReadAble*/
13583 variable[18] = variable[19];
13584 variable[19] = variable[11] /*nodearraylist4*/;
13585 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13586 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8145); nit_exit(1);}
13587 variable[20] = variable[10] /*nodearraylist5*/;
13588 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13589 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8147); nit_exit(1);}
13590 variable[21] = variable[9] /*nodearraylist6*/;
13591 variable[22] = TAG_Bool(( variable[21] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13592 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8149); nit_exit(1);}
13593 variable[22] = variable[8] /*nodearraylist7*/;
13594 variable[23] = TAG_Bool(( variable[22] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13595 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8151); nit_exit(1);}
13596 variable[23] = variable[7] /*nodearraylist8*/;
13597 variable[24] = TAG_Bool(( variable[23] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
13598 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8153); nit_exit(1);}
13599 variable[24] = variable[4] /*nodearraylist11*/;
13600 variable[25] = TAG_Bool(( variable[24] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[24] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13601 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8155); nit_exit(1);}
13602 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*/
13603 variable[25] = variable[26];
13604 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
13605 variable[26] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13606 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
13607 return_label348: while(false);
13608 tracehead = trace.prev;
13609 return;
13610 }
13611 void parser___ReduceAction158___init(val_t self, int* init_table) {
13612 struct trace_t trace = {NULL, NULL, 8170, LOCATE_parser___ReduceAction158___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(variable[0])->vft[INIT_TABLE_POS_ReduceAction158].i]) return;
13619 return_label349: while(false);
13620 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction158].i] = 1;
13621 tracehead = trace.prev;
13622 return;
13623 }
13624 void parser___ReduceAction159___action(val_t self, val_t param0) {
13625 struct trace_t trace = {NULL, NULL, 8174, LOCATE_parser___ReduceAction159___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] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13634 variable[4] = variable[5];
13635 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13636 variable[5] = variable[6];
13637 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13638 variable[6] = variable[7];
13639 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13640 variable[7] = variable[8];
13641 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13642 variable[8] = variable[9];
13643 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13644 variable[9] = variable[10];
13645 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13646 variable[10] = variable[11];
13647 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13648 variable[11] = variable[12];
13649 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13650 variable[12] = variable[13];
13651 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( 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___ReduceAction159___action, LOCATE_parser, 8188); nit_exit(1);}
13656 variable[15] = variable[12] /*nodearraylist2*/;
13657 variable[16] = TAG_Bool(( variable[15] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
13658 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction159___action, LOCATE_parser, 8190); nit_exit(1);}
13659 variable[17] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[15] /*tkwwritablenode6*/); /*new AWriteAble*/
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___ReduceAction159___action, LOCATE_parser, 8196); 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___ReduceAction159___action, LOCATE_parser, 8198); 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___ReduceAction159___action, LOCATE_parser, 8200); 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___ReduceAction159___action, LOCATE_parser, 8202); 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___ReduceAction159___action, LOCATE_parser, 8204); 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___ReduceAction159___action, LOCATE_parser, 8206); nit_exit(1);}
13679 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*/
13680 variable[23] = variable[24];
13681 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
13682 variable[24] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13683 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
13684 return_label350: while(false);
13685 tracehead = trace.prev;
13686 return;
13687 }
13688 void parser___ReduceAction159___init(val_t self, int* init_table) {
13689 struct trace_t trace = {NULL, NULL, 8221, LOCATE_parser___ReduceAction159___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(variable[0])->vft[INIT_TABLE_POS_ReduceAction159].i]) return;
13696 return_label351: while(false);
13697 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction159].i] = 1;
13698 tracehead = trace.prev;
13699 return;
13700 }
13701 void parser___ReduceAction160___action(val_t self, val_t param0) {
13702 struct trace_t trace = {NULL, NULL, 8225, LOCATE_parser___ReduceAction160___action};
13703 val_t variable[27];
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] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13711 variable[4] = variable[5];
13712 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13713 variable[5] = variable[6];
13714 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13715 variable[6] = variable[7];
13716 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13717 variable[7] = variable[8];
13718 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13719 variable[8] = variable[9];
13720 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13721 variable[9] = variable[10];
13722 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13723 variable[10] = variable[11];
13724 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13725 variable[11] = variable[12];
13726 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13727 variable[12] = variable[13];
13728 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13729 variable[13] = variable[14];
13730 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13731 variable[14] = variable[15];
13732 variable[15] = variable[14] /*nodearraylist1*/;
13733 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13734 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8240); nit_exit(1);}
13735 variable[16] = variable[13] /*nodearraylist2*/;
13736 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13737 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8242); nit_exit(1);}
13738 variable[17] = variable[12] /*nodearraylist3*/;
13739 variable[18] = TAG_Bool(( variable[17] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
13740 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8244); nit_exit(1);}
13741 variable[19] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[16] /*tkwredefnode5*/, variable[17] /*tkwwritablenode6*/); /*new AWriteAble*/
13742 variable[18] = variable[19];
13743 variable[19] = variable[11] /*nodearraylist4*/;
13744 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13745 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8250); nit_exit(1);}
13746 variable[20] = variable[10] /*nodearraylist5*/;
13747 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13748 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8252); nit_exit(1);}
13749 variable[21] = variable[9] /*nodearraylist6*/;
13750 variable[22] = TAG_Bool(( variable[21] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13751 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8254); nit_exit(1);}
13752 variable[22] = variable[8] /*nodearraylist7*/;
13753 variable[23] = TAG_Bool(( variable[22] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13754 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8256); nit_exit(1);}
13755 variable[23] = variable[7] /*nodearraylist8*/;
13756 variable[24] = TAG_Bool(( variable[23] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
13757 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8258); nit_exit(1);}
13758 variable[24] = variable[4] /*nodearraylist11*/;
13759 variable[25] = TAG_Bool(( variable[24] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[24] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13760 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8260); nit_exit(1);}
13761 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*/
13762 variable[25] = variable[26];
13763 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
13764 variable[26] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13765 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
13766 return_label352: while(false);
13767 tracehead = trace.prev;
13768 return;
13769 }
13770 void parser___ReduceAction160___init(val_t self, int* init_table) {
13771 struct trace_t trace = {NULL, NULL, 8275, LOCATE_parser___ReduceAction160___init};
13772 val_t variable[2];
13773 void **closurevariable = NULL;
13774 trace.prev = tracehead; tracehead = &trace;
13775 trace.file = LOCATE_parser;
13776 variable[0] = self;
13777 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction160].i]) return;
13778 return_label353: while(false);
13779 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction160].i] = 1;
13780 tracehead = trace.prev;
13781 return;
13782 }
13783 void parser___ReduceAction161___action(val_t self, val_t param0) {
13784 struct trace_t trace = {NULL, NULL, 8279, LOCATE_parser___ReduceAction161___action};
13785 val_t variable[22];
13786 void **closurevariable = NULL;
13787 trace.prev = tracehead; tracehead = &trace;
13788 trace.file = LOCATE_parser;
13789 variable[0] = self;
13790 variable[1] = param0;
13791 variable[3] = NIT_NULL /*null*/;
13792 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13793 variable[4] = variable[5];
13794 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13795 variable[5] = variable[6];
13796 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13797 variable[6] = variable[7];
13798 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13799 variable[7] = variable[8];
13800 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13801 variable[8] = variable[9];
13802 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13803 variable[9] = variable[10];
13804 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13805 variable[10] = variable[11];
13806 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13807 variable[11] = variable[12];
13808 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13809 variable[12] = variable[13];
13810 variable[13] = variable[12] /*nodearraylist1*/;
13811 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13812 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8292); nit_exit(1);}
13813 variable[14] = variable[11] /*nodearraylist2*/;
13814 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13815 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8294); nit_exit(1);}
13816 variable[15] = variable[10] /*nodearraylist3*/;
13817 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13818 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8296); nit_exit(1);}
13819 variable[16] = variable[9] /*nodearraylist4*/;
13820 variable[17] = TAG_Bool(( variable[16] /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13821 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8298); nit_exit(1);}
13822 variable[17] = variable[8] /*nodearraylist5*/;
13823 variable[18] = TAG_Bool(( variable[17] /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13824 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8300); nit_exit(1);}
13825 variable[18] = variable[7] /*nodearraylist6*/;
13826 variable[19] = TAG_Bool(( variable[18] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
13827 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8302); nit_exit(1);}
13828 variable[19] = variable[4] /*nodearraylist9*/;
13829 variable[20] = TAG_Bool(( variable[19] /*pexprnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*pexprnode10*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13830 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8304); nit_exit(1);}
13831 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*/
13832 variable[20] = variable[21];
13833 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
13834 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13835 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
13836 return_label354: while(false);
13837 tracehead = trace.prev;
13838 return;
13839 }
13840 void parser___ReduceAction161___init(val_t self, int* init_table) {
13841 struct trace_t trace = {NULL, NULL, 8319, LOCATE_parser___ReduceAction161___init};
13842 val_t variable[2];
13843 void **closurevariable = NULL;
13844 trace.prev = tracehead; tracehead = &trace;
13845 trace.file = LOCATE_parser;
13846 variable[0] = self;
13847 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction161].i]) return;
13848 return_label355: while(false);
13849 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction161].i] = 1;
13850 tracehead = trace.prev;
13851 return;
13852 }
13853 void parser___ReduceAction162___action(val_t self, val_t param0) {
13854 struct trace_t trace = {NULL, NULL, 8323, LOCATE_parser___ReduceAction162___action};
13855 val_t variable[18];
13856 void **closurevariable = NULL;
13857 trace.prev = tracehead; tracehead = &trace;
13858 trace.file = LOCATE_parser;
13859 variable[0] = self;
13860 variable[1] = param0;
13861 variable[3] = NIT_NULL /*null*/;
13862 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13863 variable[4] = variable[5];
13864 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13865 variable[5] = variable[6];
13866 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13867 variable[6] = variable[7];
13868 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13869 variable[7] = variable[8];
13870 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13871 variable[8] = variable[9];
13872 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13873 variable[9] = variable[10];
13874 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13875 variable[10] = variable[11];
13876 variable[11] = variable[10] /*nodearraylist1*/;
13877 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13878 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction162___action, LOCATE_parser, 8334); nit_exit(1);}
13879 variable[12] = variable[9] /*nodearraylist2*/;
13880 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13881 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction162___action, LOCATE_parser, 8336); nit_exit(1);}
13882 variable[13] = variable[8] /*nodearraylist3*/;
13883 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
13884 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction162___action, LOCATE_parser, 8338); nit_exit(1);}
13885 variable[14] = variable[7] /*nodearraylist4*/;
13886 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
13887 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction162___action, LOCATE_parser, 8340); nit_exit(1);}
13888 variable[15] = variable[6] /*nodearraylist5*/;
13889 variable[16] = TAG_Bool(( variable[15] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[15] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
13890 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction162___action, LOCATE_parser, 8342); nit_exit(1);}
13891 variable[17] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwmethnode5*/, variable[14] /*pmethidnode6*/, variable[15] /*psignaturenode7*/); /*new ADeferredMethPropdef*/
13892 variable[16] = variable[17];
13893 variable[3] = variable[16] /*ppropdefnode1*/ /*node_list=*/;
13894 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13895 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
13896 return_label356: while(false);
13897 tracehead = trace.prev;
13898 return;
13899 }
13900 void parser___ReduceAction162___init(val_t self, int* init_table) {
13901 struct trace_t trace = {NULL, NULL, 8354, LOCATE_parser___ReduceAction162___init};
13902 val_t variable[2];
13903 void **closurevariable = NULL;
13904 trace.prev = tracehead; tracehead = &trace;
13905 trace.file = LOCATE_parser;
13906 variable[0] = self;
13907 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction162].i]) return;
13908 return_label357: while(false);
13909 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction162].i] = 1;
13910 tracehead = trace.prev;
13911 return;
13912 }
13913 void parser___ReduceAction163___action(val_t self, val_t param0) {
13914 struct trace_t trace = {NULL, NULL, 8358, LOCATE_parser___ReduceAction163___action};
13915 val_t variable[20];
13916 void **closurevariable = NULL;
13917 trace.prev = tracehead; tracehead = &trace;
13918 trace.file = LOCATE_parser;
13919 variable[0] = self;
13920 variable[1] = param0;
13921 variable[3] = NIT_NULL /*null*/;
13922 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13923 variable[4] = variable[5];
13924 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13925 variable[5] = variable[6];
13926 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13927 variable[6] = variable[7];
13928 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13929 variable[7] = variable[8];
13930 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13931 variable[8] = variable[9];
13932 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13933 variable[9] = variable[10];
13934 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13935 variable[10] = variable[11];
13936 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13937 variable[11] = variable[12];
13938 variable[12] = variable[11] /*nodearraylist1*/;
13939 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13940 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction163___action, LOCATE_parser, 8370); nit_exit(1);}
13941 variable[13] = variable[10] /*nodearraylist2*/;
13942 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13943 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction163___action, LOCATE_parser, 8372); nit_exit(1);}
13944 variable[14] = variable[9] /*nodearraylist3*/;
13945 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13946 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction163___action, LOCATE_parser, 8374); nit_exit(1);}
13947 variable[15] = variable[8] /*nodearraylist4*/;
13948 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
13949 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction163___action, LOCATE_parser, 8376); nit_exit(1);}
13950 variable[16] = variable[7] /*nodearraylist5*/;
13951 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
13952 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction163___action, LOCATE_parser, 8378); nit_exit(1);}
13953 variable[17] = variable[6] /*nodearraylist6*/;
13954 variable[18] = TAG_Bool(( variable[17] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[17] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
13955 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction163___action, LOCATE_parser, 8380); nit_exit(1);}
13956 variable[19] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[17] /*psignaturenode7*/); /*new ADeferredMethPropdef*/
13957 variable[18] = variable[19];
13958 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
13959 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13960 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
13961 return_label358: while(false);
13962 tracehead = trace.prev;
13963 return;
13964 }
13965 void parser___ReduceAction163___init(val_t self, int* init_table) {
13966 struct trace_t trace = {NULL, NULL, 8392, LOCATE_parser___ReduceAction163___init};
13967 val_t variable[2];
13968 void **closurevariable = NULL;
13969 trace.prev = tracehead; tracehead = &trace;
13970 trace.file = LOCATE_parser;
13971 variable[0] = self;
13972 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction163].i]) return;
13973 return_label359: while(false);
13974 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction163].i] = 1;
13975 tracehead = trace.prev;
13976 return;
13977 }
13978 void parser___ReduceAction164___action(val_t self, val_t param0) {
13979 struct trace_t trace = {NULL, NULL, 8396, LOCATE_parser___ReduceAction164___action};
13980 val_t variable[18];
13981 void **closurevariable = NULL;
13982 trace.prev = tracehead; tracehead = &trace;
13983 trace.file = LOCATE_parser;
13984 variable[0] = self;
13985 variable[1] = param0;
13986 variable[3] = NIT_NULL /*null*/;
13987 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13988 variable[4] = variable[5];
13989 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13990 variable[5] = variable[6];
13991 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13992 variable[6] = variable[7];
13993 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13994 variable[7] = variable[8];
13995 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13996 variable[8] = variable[9];
13997 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13998 variable[9] = variable[10];
13999 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14000 variable[10] = variable[11];
14001 variable[11] = variable[10] /*nodearraylist1*/;
14002 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14003 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction164___action, LOCATE_parser, 8407); nit_exit(1);}
14004 variable[12] = variable[9] /*nodearraylist2*/;
14005 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14006 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction164___action, LOCATE_parser, 8409); nit_exit(1);}
14007 variable[13] = variable[8] /*nodearraylist3*/;
14008 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
14009 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction164___action, LOCATE_parser, 8411); nit_exit(1);}
14010 variable[14] = variable[7] /*nodearraylist4*/;
14011 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
14012 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction164___action, LOCATE_parser, 8413); nit_exit(1);}
14013 variable[15] = variable[6] /*nodearraylist5*/;
14014 variable[16] = TAG_Bool(( variable[15] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[15] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
14015 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction164___action, LOCATE_parser, 8415); nit_exit(1);}
14016 variable[17] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwmethnode5*/, variable[14] /*pmethidnode6*/, variable[15] /*psignaturenode7*/); /*new AInternMethPropdef*/
14017 variable[16] = variable[17];
14018 variable[3] = variable[16] /*ppropdefnode1*/ /*node_list=*/;
14019 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14020 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
14021 return_label360: while(false);
14022 tracehead = trace.prev;
14023 return;
14024 }
14025 void parser___ReduceAction164___init(val_t self, int* init_table) {
14026 struct trace_t trace = {NULL, NULL, 8427, LOCATE_parser___ReduceAction164___init};
14027 val_t variable[2];
14028 void **closurevariable = NULL;
14029 trace.prev = tracehead; tracehead = &trace;
14030 trace.file = LOCATE_parser;
14031 variable[0] = self;
14032 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction164].i]) return;
14033 return_label361: while(false);
14034 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction164].i] = 1;
14035 tracehead = trace.prev;
14036 return;
14037 }
14038 void parser___ReduceAction165___action(val_t self, val_t param0) {
14039 struct trace_t trace = {NULL, NULL, 8431, LOCATE_parser___ReduceAction165___action};
14040 val_t variable[20];
14041 void **closurevariable = NULL;
14042 trace.prev = tracehead; tracehead = &trace;
14043 trace.file = LOCATE_parser;
14044 variable[0] = self;
14045 variable[1] = param0;
14046 variable[3] = NIT_NULL /*null*/;
14047 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14048 variable[4] = variable[5];
14049 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14050 variable[5] = variable[6];
14051 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14052 variable[6] = variable[7];
14053 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14054 variable[7] = variable[8];
14055 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14056 variable[8] = variable[9];
14057 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14058 variable[9] = variable[10];
14059 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14060 variable[10] = variable[11];
14061 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14062 variable[11] = variable[12];
14063 variable[12] = variable[11] /*nodearraylist1*/;
14064 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14065 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction165___action, LOCATE_parser, 8443); nit_exit(1);}
14066 variable[13] = variable[10] /*nodearraylist2*/;
14067 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14068 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction165___action, LOCATE_parser, 8445); nit_exit(1);}
14069 variable[14] = variable[9] /*nodearraylist3*/;
14070 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14071 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction165___action, LOCATE_parser, 8447); nit_exit(1);}
14072 variable[15] = variable[8] /*nodearraylist4*/;
14073 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
14074 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction165___action, LOCATE_parser, 8449); nit_exit(1);}
14075 variable[16] = variable[7] /*nodearraylist5*/;
14076 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
14077 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction165___action, LOCATE_parser, 8451); nit_exit(1);}
14078 variable[17] = variable[6] /*nodearraylist6*/;
14079 variable[18] = TAG_Bool(( variable[17] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[17] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
14080 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction165___action, LOCATE_parser, 8453); nit_exit(1);}
14081 variable[19] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[17] /*psignaturenode7*/); /*new AInternMethPropdef*/
14082 variable[18] = variable[19];
14083 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
14084 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14085 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
14086 return_label362: while(false);
14087 tracehead = trace.prev;
14088 return;
14089 }
14090 void parser___ReduceAction165___init(val_t self, int* init_table) {
14091 struct trace_t trace = {NULL, NULL, 8465, LOCATE_parser___ReduceAction165___init};
14092 val_t variable[2];
14093 void **closurevariable = NULL;
14094 trace.prev = tracehead; tracehead = &trace;
14095 trace.file = LOCATE_parser;
14096 variable[0] = self;
14097 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction165].i]) return;
14098 return_label363: while(false);
14099 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction165].i] = 1;
14100 tracehead = trace.prev;
14101 return;
14102 }
14103 void parser___ReduceAction166___action(val_t self, val_t param0) {
14104 struct trace_t trace = {NULL, NULL, 8469, LOCATE_parser___ReduceAction166___action};
14105 val_t variable[18];
14106 void **closurevariable = NULL;
14107 trace.prev = tracehead; tracehead = &trace;
14108 trace.file = LOCATE_parser;
14109 variable[0] = self;
14110 variable[1] = param0;
14111 variable[3] = NIT_NULL /*null*/;
14112 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14113 variable[4] = variable[5];
14114 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14115 variable[5] = variable[6];
14116 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14117 variable[6] = variable[7];
14118 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14119 variable[7] = variable[8];
14120 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14121 variable[8] = variable[9];
14122 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14123 variable[9] = variable[10];
14124 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14125 variable[10] = variable[11];
14126 variable[11] = variable[10] /*nodearraylist1*/;
14127 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14128 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction166___action, LOCATE_parser, 8480); nit_exit(1);}
14129 variable[12] = variable[9] /*nodearraylist2*/;
14130 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14131 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction166___action, LOCATE_parser, 8482); nit_exit(1);}
14132 variable[13] = variable[8] /*nodearraylist3*/;
14133 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
14134 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction166___action, LOCATE_parser, 8484); nit_exit(1);}
14135 variable[14] = variable[7] /*nodearraylist4*/;
14136 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
14137 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction166___action, LOCATE_parser, 8486); nit_exit(1);}
14138 variable[15] = variable[6] /*nodearraylist5*/;
14139 variable[16] = TAG_Bool(( variable[15] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[15] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
14140 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction166___action, LOCATE_parser, 8488); nit_exit(1);}
14141 variable[17] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwmethnode5*/, variable[14] /*pmethidnode6*/, variable[15] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
14142 variable[16] = variable[17];
14143 variable[3] = variable[16] /*ppropdefnode1*/ /*node_list=*/;
14144 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14145 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
14146 return_label364: while(false);
14147 tracehead = trace.prev;
14148 return;
14149 }
14150 void parser___ReduceAction166___init(val_t self, int* init_table) {
14151 struct trace_t trace = {NULL, NULL, 8501, LOCATE_parser___ReduceAction166___init};
14152 val_t variable[2];
14153 void **closurevariable = NULL;
14154 trace.prev = tracehead; tracehead = &trace;
14155 trace.file = LOCATE_parser;
14156 variable[0] = self;
14157 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction166].i]) return;
14158 return_label365: while(false);
14159 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction166].i] = 1;
14160 tracehead = trace.prev;
14161 return;
14162 }
14163 void parser___ReduceAction167___action(val_t self, val_t param0) {
14164 struct trace_t trace = {NULL, NULL, 8505, LOCATE_parser___ReduceAction167___action};
14165 val_t variable[20];
14166 void **closurevariable = NULL;
14167 trace.prev = tracehead; tracehead = &trace;
14168 trace.file = LOCATE_parser;
14169 variable[0] = self;
14170 variable[1] = param0;
14171 variable[3] = NIT_NULL /*null*/;
14172 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14173 variable[4] = variable[5];
14174 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14175 variable[5] = variable[6];
14176 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14177 variable[6] = variable[7];
14178 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14179 variable[7] = variable[8];
14180 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14181 variable[8] = variable[9];
14182 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14183 variable[9] = variable[10];
14184 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14185 variable[10] = variable[11];
14186 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14187 variable[11] = variable[12];
14188 variable[12] = variable[11] /*nodearraylist1*/;
14189 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14190 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction167___action, LOCATE_parser, 8517); nit_exit(1);}
14191 variable[13] = variable[10] /*nodearraylist2*/;
14192 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14193 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction167___action, LOCATE_parser, 8519); nit_exit(1);}
14194 variable[14] = variable[9] /*nodearraylist3*/;
14195 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14196 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction167___action, LOCATE_parser, 8521); nit_exit(1);}
14197 variable[15] = variable[8] /*nodearraylist4*/;
14198 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
14199 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction167___action, LOCATE_parser, 8523); nit_exit(1);}
14200 variable[16] = variable[7] /*nodearraylist5*/;
14201 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
14202 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction167___action, LOCATE_parser, 8525); nit_exit(1);}
14203 variable[17] = variable[6] /*nodearraylist6*/;
14204 variable[18] = TAG_Bool(( variable[17] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[17] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
14205 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction167___action, LOCATE_parser, 8527); nit_exit(1);}
14206 variable[19] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[17] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
14207 variable[18] = variable[19];
14208 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
14209 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14210 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
14211 return_label366: while(false);
14212 tracehead = trace.prev;
14213 return;
14214 }
14215 void parser___ReduceAction167___init(val_t self, int* init_table) {
14216 struct trace_t trace = {NULL, NULL, 8540, LOCATE_parser___ReduceAction167___init};
14217 val_t variable[2];
14218 void **closurevariable = NULL;
14219 trace.prev = tracehead; tracehead = &trace;
14220 trace.file = LOCATE_parser;
14221 variable[0] = self;
14222 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction167].i]) return;
14223 return_label367: while(false);
14224 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction167].i] = 1;
14225 tracehead = trace.prev;
14226 return;
14227 }
14228 void parser___ReduceAction168___action(val_t self, val_t param0) {
14229 struct trace_t trace = {NULL, NULL, 8544, LOCATE_parser___ReduceAction168___action};
14230 val_t variable[20];
14231 void **closurevariable = NULL;
14232 trace.prev = tracehead; tracehead = &trace;
14233 trace.file = LOCATE_parser;
14234 variable[0] = self;
14235 variable[1] = param0;
14236 variable[3] = NIT_NULL /*null*/;
14237 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14238 variable[4] = variable[5];
14239 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14240 variable[5] = variable[6];
14241 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14242 variable[6] = variable[7];
14243 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14244 variable[7] = variable[8];
14245 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14246 variable[8] = variable[9];
14247 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14248 variable[9] = variable[10];
14249 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14250 variable[10] = variable[11];
14251 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14252 variable[11] = variable[12];
14253 variable[12] = variable[11] /*nodearraylist1*/;
14254 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14255 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8556); nit_exit(1);}
14256 variable[13] = variable[10] /*nodearraylist2*/;
14257 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14258 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8558); nit_exit(1);}
14259 variable[14] = variable[9] /*nodearraylist3*/;
14260 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
14261 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8560); nit_exit(1);}
14262 variable[15] = variable[8] /*nodearraylist4*/;
14263 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
14264 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8562); nit_exit(1);}
14265 variable[16] = variable[7] /*nodearraylist5*/;
14266 variable[17] = TAG_Bool(( variable[16] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[16] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
14267 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8564); nit_exit(1);}
14268 variable[17] = variable[4] /*nodearraylist8*/;
14269 variable[18] = TAG_Bool(( variable[17] /*tstringnode8*/==NIT_NULL) || VAL_ISA( variable[17] /*tstringnode8*/, COLOR_TString, ID_TString)) /*cast TString*/;
14270 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8566); nit_exit(1);}
14271 variable[19] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[16] /*psignaturenode7*/, variable[17] /*tstringnode8*/); /*new AExternMethPropdef*/
14272 variable[18] = variable[19];
14273 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
14274 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14275 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
14276 return_label368: while(false);
14277 tracehead = trace.prev;
14278 return;
14279 }
14280 void parser___ReduceAction168___init(val_t self, int* init_table) {
14281 struct trace_t trace = {NULL, NULL, 8579, LOCATE_parser___ReduceAction168___init};
14282 val_t variable[2];
14283 void **closurevariable = NULL;
14284 trace.prev = tracehead; tracehead = &trace;
14285 trace.file = LOCATE_parser;
14286 variable[0] = self;
14287 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction168].i]) return;
14288 return_label369: while(false);
14289 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction168].i] = 1;
14290 tracehead = trace.prev;
14291 return;
14292 }
14293 void parser___ReduceAction169___action(val_t self, val_t param0) {
14294 struct trace_t trace = {NULL, NULL, 8583, LOCATE_parser___ReduceAction169___action};
14295 val_t variable[22];
14296 void **closurevariable = NULL;
14297 trace.prev = tracehead; tracehead = &trace;
14298 trace.file = LOCATE_parser;
14299 variable[0] = self;
14300 variable[1] = param0;
14301 variable[3] = NIT_NULL /*null*/;
14302 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14303 variable[4] = variable[5];
14304 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14305 variable[5] = variable[6];
14306 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14307 variable[6] = variable[7];
14308 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14309 variable[7] = variable[8];
14310 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14311 variable[8] = variable[9];
14312 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14313 variable[9] = variable[10];
14314 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14315 variable[10] = variable[11];
14316 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14317 variable[11] = variable[12];
14318 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14319 variable[12] = variable[13];
14320 variable[13] = variable[12] /*nodearraylist1*/;
14321 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14322 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8596); nit_exit(1);}
14323 variable[14] = variable[11] /*nodearraylist2*/;
14324 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14325 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8598); nit_exit(1);}
14326 variable[15] = variable[10] /*nodearraylist3*/;
14327 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14328 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8600); nit_exit(1);}
14329 variable[16] = variable[9] /*nodearraylist4*/;
14330 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
14331 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8602); nit_exit(1);}
14332 variable[17] = variable[8] /*nodearraylist5*/;
14333 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
14334 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8604); nit_exit(1);}
14335 variable[18] = variable[7] /*nodearraylist6*/;
14336 variable[19] = TAG_Bool(( variable[18] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[18] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
14337 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8606); nit_exit(1);}
14338 variable[19] = variable[4] /*nodearraylist9*/;
14339 variable[20] = TAG_Bool(( variable[19] /*tstringnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*tstringnode8*/, COLOR_TString, ID_TString)) /*cast TString*/;
14340 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8608); nit_exit(1);}
14341 variable[21] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[18] /*psignaturenode7*/, variable[19] /*tstringnode8*/); /*new AExternMethPropdef*/
14342 variable[20] = variable[21];
14343 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
14344 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14345 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
14346 return_label370: while(false);
14347 tracehead = trace.prev;
14348 return;
14349 }
14350 void parser___ReduceAction169___init(val_t self, int* init_table) {
14351 struct trace_t trace = {NULL, NULL, 8621, LOCATE_parser___ReduceAction169___init};
14352 val_t variable[2];
14353 void **closurevariable = NULL;
14354 trace.prev = tracehead; tracehead = &trace;
14355 trace.file = LOCATE_parser;
14356 variable[0] = self;
14357 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction169].i]) return;
14358 return_label371: while(false);
14359 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction169].i] = 1;
14360 tracehead = trace.prev;
14361 return;
14362 }
14363 void parser___ReduceAction170___action(val_t self, val_t param0) {
14364 struct trace_t trace = {NULL, NULL, 8625, LOCATE_parser___ReduceAction170___action};
14365 val_t variable[19];
14366 void **closurevariable = NULL;
14367 trace.prev = tracehead; tracehead = &trace;
14368 trace.file = LOCATE_parser;
14369 variable[0] = self;
14370 variable[1] = param0;
14371 variable[3] = NIT_NULL /*null*/;
14372 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14373 variable[4] = variable[5];
14374 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14375 variable[5] = variable[6];
14376 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14377 variable[6] = variable[7];
14378 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14379 variable[7] = variable[8];
14380 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14381 variable[8] = variable[9];
14382 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14383 variable[9] = variable[10];
14384 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14385 variable[10] = variable[11];
14386 variable[11] = variable[10] /*nodearraylist1*/;
14387 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14388 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction170___action, LOCATE_parser, 8636); nit_exit(1);}
14389 variable[12] = variable[9] /*nodearraylist2*/;
14390 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14391 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction170___action, LOCATE_parser, 8638); nit_exit(1);}
14392 variable[13] = variable[8] /*nodearraylist3*/;
14393 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
14394 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction170___action, LOCATE_parser, 8640); nit_exit(1);}
14395 variable[14] = variable[7] /*nodearraylist4*/;
14396 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
14397 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction170___action, LOCATE_parser, 8642); nit_exit(1);}
14398 variable[15] = variable[6] /*nodearraylist5*/;
14399 variable[16] = TAG_Bool(( variable[15] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[15] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
14400 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction170___action, LOCATE_parser, 8644); nit_exit(1);}
14401 variable[16] = variable[4] /*nodearraylist7*/;
14402 variable[17] = TAG_Bool(( variable[16] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14403 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction170___action, LOCATE_parser, 8646); nit_exit(1);}
14404 variable[18] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwmethnode5*/, variable[14] /*pmethidnode6*/, variable[15] /*psignaturenode7*/, variable[16] /*pexprnode8*/); /*new AConcreteMethPropdef*/
14405 variable[17] = variable[18];
14406 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
14407 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14408 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
14409 return_label372: while(false);
14410 tracehead = trace.prev;
14411 return;
14412 }
14413 void parser___ReduceAction170___init(val_t self, int* init_table) {
14414 struct trace_t trace = {NULL, NULL, 8659, LOCATE_parser___ReduceAction170___init};
14415 val_t variable[2];
14416 void **closurevariable = NULL;
14417 trace.prev = tracehead; tracehead = &trace;
14418 trace.file = LOCATE_parser;
14419 variable[0] = self;
14420 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction170].i]) return;
14421 return_label373: while(false);
14422 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction170].i] = 1;
14423 tracehead = trace.prev;
14424 return;
14425 }
14426 void parser___ReduceAction171___action(val_t self, val_t param0) {
14427 struct trace_t trace = {NULL, NULL, 8663, LOCATE_parser___ReduceAction171___action};
14428 val_t variable[21];
14429 void **closurevariable = NULL;
14430 trace.prev = tracehead; tracehead = &trace;
14431 trace.file = LOCATE_parser;
14432 variable[0] = self;
14433 variable[1] = param0;
14434 variable[3] = NIT_NULL /*null*/;
14435 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14436 variable[4] = variable[5];
14437 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14438 variable[5] = variable[6];
14439 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14440 variable[6] = variable[7];
14441 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14442 variable[7] = variable[8];
14443 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14444 variable[8] = variable[9];
14445 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14446 variable[9] = variable[10];
14447 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14448 variable[10] = variable[11];
14449 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14450 variable[11] = variable[12];
14451 variable[12] = variable[11] /*nodearraylist1*/;
14452 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14453 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8675); nit_exit(1);}
14454 variable[13] = variable[10] /*nodearraylist2*/;
14455 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14456 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8677); nit_exit(1);}
14457 variable[14] = variable[9] /*nodearraylist3*/;
14458 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14459 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8679); nit_exit(1);}
14460 variable[15] = variable[8] /*nodearraylist4*/;
14461 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
14462 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8681); nit_exit(1);}
14463 variable[16] = variable[7] /*nodearraylist5*/;
14464 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
14465 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8683); nit_exit(1);}
14466 variable[17] = variable[6] /*nodearraylist6*/;
14467 variable[18] = TAG_Bool(( variable[17] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[17] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
14468 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8685); nit_exit(1);}
14469 variable[18] = variable[4] /*nodearraylist8*/;
14470 variable[19] = TAG_Bool(( variable[18] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14471 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8687); nit_exit(1);}
14472 variable[20] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[17] /*psignaturenode7*/, variable[18] /*pexprnode8*/); /*new AConcreteMethPropdef*/
14473 variable[19] = variable[20];
14474 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
14475 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14476 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
14477 return_label374: while(false);
14478 tracehead = trace.prev;
14479 return;
14480 }
14481 void parser___ReduceAction171___init(val_t self, int* init_table) {
14482 struct trace_t trace = {NULL, NULL, 8700, LOCATE_parser___ReduceAction171___init};
14483 val_t variable[2];
14484 void **closurevariable = NULL;
14485 trace.prev = tracehead; tracehead = &trace;
14486 trace.file = LOCATE_parser;
14487 variable[0] = self;
14488 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction171].i]) return;
14489 return_label375: while(false);
14490 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction171].i] = 1;
14491 tracehead = trace.prev;
14492 return;
14493 }
14494 void parser___ReduceAction172___action(val_t self, val_t param0) {
14495 struct trace_t trace = {NULL, NULL, 8704, LOCATE_parser___ReduceAction172___action};
14496 val_t variable[20];
14497 void **closurevariable = NULL;
14498 trace.prev = tracehead; tracehead = &trace;
14499 trace.file = LOCATE_parser;
14500 variable[0] = self;
14501 variable[1] = param0;
14502 variable[3] = NIT_NULL /*null*/;
14503 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14504 variable[4] = variable[5];
14505 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14506 variable[5] = variable[6];
14507 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14508 variable[6] = variable[7];
14509 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14510 variable[7] = variable[8];
14511 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14512 variable[8] = variable[9];
14513 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14514 variable[9] = variable[10];
14515 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14516 variable[10] = variable[11];
14517 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14518 variable[11] = variable[12];
14519 variable[12] = variable[11] /*nodearraylist1*/;
14520 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14521 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 8716); nit_exit(1);}
14522 variable[13] = variable[10] /*nodearraylist2*/;
14523 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14524 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 8718); nit_exit(1);}
14525 variable[14] = variable[9] /*nodearraylist3*/;
14526 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
14527 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 8720); nit_exit(1);}
14528 variable[15] = variable[8] /*nodearraylist4*/;
14529 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
14530 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 8722); nit_exit(1);}
14531 variable[16] = variable[7] /*nodearraylist5*/;
14532 variable[17] = TAG_Bool(( variable[16] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[16] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
14533 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 8724); nit_exit(1);}
14534 variable[17] = variable[5] /*nodearraylist7*/;
14535 variable[18] = TAG_Bool(( variable[17] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14536 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 8726); nit_exit(1);}
14537 variable[19] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[16] /*psignaturenode7*/, variable[17] /*pexprnode8*/); /*new AConcreteMethPropdef*/
14538 variable[18] = variable[19];
14539 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
14540 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14541 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
14542 return_label376: while(false);
14543 tracehead = trace.prev;
14544 return;
14545 }
14546 void parser___ReduceAction172___init(val_t self, int* init_table) {
14547 struct trace_t trace = {NULL, NULL, 8739, LOCATE_parser___ReduceAction172___init};
14548 val_t variable[2];
14549 void **closurevariable = NULL;
14550 trace.prev = tracehead; tracehead = &trace;
14551 trace.file = LOCATE_parser;
14552 variable[0] = self;
14553 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction172].i]) return;
14554 return_label377: while(false);
14555 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction172].i] = 1;
14556 tracehead = trace.prev;
14557 return;
14558 }
14559 void parser___ReduceAction173___action(val_t self, val_t param0) {
14560 struct trace_t trace = {NULL, NULL, 8743, LOCATE_parser___ReduceAction173___action};
14561 val_t variable[22];
14562 void **closurevariable = NULL;
14563 trace.prev = tracehead; tracehead = &trace;
14564 trace.file = LOCATE_parser;
14565 variable[0] = self;
14566 variable[1] = param0;
14567 variable[3] = NIT_NULL /*null*/;
14568 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14569 variable[4] = variable[5];
14570 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14571 variable[5] = variable[6];
14572 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14573 variable[6] = variable[7];
14574 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14575 variable[7] = variable[8];
14576 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14577 variable[8] = variable[9];
14578 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14579 variable[9] = variable[10];
14580 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14581 variable[10] = variable[11];
14582 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14583 variable[11] = variable[12];
14584 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14585 variable[12] = variable[13];
14586 variable[13] = variable[12] /*nodearraylist1*/;
14587 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14588 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 8756); nit_exit(1);}
14589 variable[14] = variable[11] /*nodearraylist2*/;
14590 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14591 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 8758); nit_exit(1);}
14592 variable[15] = variable[10] /*nodearraylist3*/;
14593 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14594 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 8760); nit_exit(1);}
14595 variable[16] = variable[9] /*nodearraylist4*/;
14596 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
14597 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 8762); nit_exit(1);}
14598 variable[17] = variable[8] /*nodearraylist5*/;
14599 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
14600 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 8764); nit_exit(1);}
14601 variable[18] = variable[7] /*nodearraylist6*/;
14602 variable[19] = TAG_Bool(( variable[18] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[18] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
14603 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 8766); nit_exit(1);}
14604 variable[19] = variable[5] /*nodearraylist8*/;
14605 variable[20] = TAG_Bool(( variable[19] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14606 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 8768); nit_exit(1);}
14607 variable[21] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[18] /*psignaturenode7*/, variable[19] /*pexprnode8*/); /*new AConcreteMethPropdef*/
14608 variable[20] = variable[21];
14609 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
14610 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14611 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
14612 return_label378: while(false);
14613 tracehead = trace.prev;
14614 return;
14615 }
14616 void parser___ReduceAction173___init(val_t self, int* init_table) {
14617 struct trace_t trace = {NULL, NULL, 8781, LOCATE_parser___ReduceAction173___init};
14618 val_t variable[2];
14619 void **closurevariable = NULL;
14620 trace.prev = tracehead; tracehead = &trace;
14621 trace.file = LOCATE_parser;
14622 variable[0] = self;
14623 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction173].i]) return;
14624 return_label379: while(false);
14625 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction173].i] = 1;
14626 tracehead = trace.prev;
14627 return;
14628 }
14629 void parser___ReduceAction174___action(val_t self, val_t param0) {
14630 struct trace_t trace = {NULL, NULL, 8785, LOCATE_parser___ReduceAction174___action};
14631 val_t variable[17];
14632 void **closurevariable = NULL;
14633 trace.prev = tracehead; tracehead = &trace;
14634 trace.file = LOCATE_parser;
14635 variable[0] = self;
14636 variable[1] = param0;
14637 variable[3] = NIT_NULL /*null*/;
14638 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14639 variable[4] = variable[5];
14640 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14641 variable[5] = variable[6];
14642 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14643 variable[6] = variable[7];
14644 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14645 variable[7] = variable[8];
14646 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14647 variable[8] = variable[9];
14648 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14649 variable[9] = variable[10];
14650 variable[10] = variable[9] /*nodearraylist1*/;
14651 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14652 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction174___action, LOCATE_parser, 8795); nit_exit(1);}
14653 variable[11] = variable[8] /*nodearraylist2*/;
14654 variable[12] = TAG_Bool(( variable[11] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[11] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14655 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction174___action, LOCATE_parser, 8797); nit_exit(1);}
14656 variable[12] = variable[7] /*nodearraylist3*/;
14657 variable[13] = TAG_Bool(( variable[12] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
14658 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction174___action, LOCATE_parser, 8799); nit_exit(1);}
14659 variable[13] = variable[6] /*nodearraylist4*/;
14660 variable[14] = TAG_Bool(( variable[13] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[13] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
14661 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction174___action, LOCATE_parser, 8801); nit_exit(1);}
14662 variable[14] = variable[4] /*nodearraylist6*/;
14663 variable[15] = TAG_Bool(( variable[14] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14664 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction174___action, LOCATE_parser, 8803); nit_exit(1);}
14665 variable[16] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[10] /*pdocnode2*/, NIT_NULL /*null*/, variable[11] /*pvisibilitynode4*/, variable[12] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[13] /*psignaturenode7*/, variable[14] /*pexprnode8*/); /*new AConcreteInitPropdef*/
14666 variable[15] = variable[16];
14667 variable[3] = variable[15] /*ppropdefnode1*/ /*node_list=*/;
14668 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14669 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
14670 return_label380: while(false);
14671 tracehead = trace.prev;
14672 return;
14673 }
14674 void parser___ReduceAction174___init(val_t self, int* init_table) {
14675 struct trace_t trace = {NULL, NULL, 8816, LOCATE_parser___ReduceAction174___init};
14676 val_t variable[2];
14677 void **closurevariable = NULL;
14678 trace.prev = tracehead; tracehead = &trace;
14679 trace.file = LOCATE_parser;
14680 variable[0] = self;
14681 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction174].i]) return;
14682 return_label381: while(false);
14683 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction174].i] = 1;
14684 tracehead = trace.prev;
14685 return;
14686 }
14687 void parser___ReduceAction175___action(val_t self, val_t param0) {
14688 struct trace_t trace = {NULL, NULL, 8820, LOCATE_parser___ReduceAction175___action};
14689 val_t variable[19];
14690 void **closurevariable = NULL;
14691 trace.prev = tracehead; tracehead = &trace;
14692 trace.file = LOCATE_parser;
14693 variable[0] = self;
14694 variable[1] = param0;
14695 variable[3] = NIT_NULL /*null*/;
14696 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14697 variable[4] = variable[5];
14698 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14699 variable[5] = variable[6];
14700 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14701 variable[6] = variable[7];
14702 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14703 variable[7] = variable[8];
14704 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14705 variable[8] = variable[9];
14706 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14707 variable[9] = variable[10];
14708 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14709 variable[10] = variable[11];
14710 variable[11] = variable[10] /*nodearraylist1*/;
14711 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14712 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction175___action, LOCATE_parser, 8831); nit_exit(1);}
14713 variable[12] = variable[9] /*nodearraylist2*/;
14714 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14715 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction175___action, LOCATE_parser, 8833); nit_exit(1);}
14716 variable[13] = variable[8] /*nodearraylist3*/;
14717 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14718 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction175___action, LOCATE_parser, 8835); nit_exit(1);}
14719 variable[14] = variable[7] /*nodearraylist4*/;
14720 variable[15] = TAG_Bool(( variable[14] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
14721 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction175___action, LOCATE_parser, 8837); nit_exit(1);}
14722 variable[15] = variable[6] /*nodearraylist5*/;
14723 variable[16] = TAG_Bool(( variable[15] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[15] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
14724 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction175___action, LOCATE_parser, 8839); nit_exit(1);}
14725 variable[16] = variable[4] /*nodearraylist7*/;
14726 variable[17] = TAG_Bool(( variable[16] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14727 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction175___action, LOCATE_parser, 8841); nit_exit(1);}
14728 variable[18] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[11] /*pdocnode2*/, variable[12] /*tkwredefnode3*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[15] /*psignaturenode7*/, variable[16] /*pexprnode8*/); /*new AConcreteInitPropdef*/
14729 variable[17] = variable[18];
14730 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
14731 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14732 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
14733 return_label382: while(false);
14734 tracehead = trace.prev;
14735 return;
14736 }
14737 void parser___ReduceAction175___init(val_t self, int* init_table) {
14738 struct trace_t trace = {NULL, NULL, 8854, LOCATE_parser___ReduceAction175___init};
14739 val_t variable[2];
14740 void **closurevariable = NULL;
14741 trace.prev = tracehead; tracehead = &trace;
14742 trace.file = LOCATE_parser;
14743 variable[0] = self;
14744 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction175].i]) return;
14745 return_label383: while(false);
14746 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction175].i] = 1;
14747 tracehead = trace.prev;
14748 return;
14749 }
14750 void parser___ReduceAction176___action(val_t self, val_t param0) {
14751 struct trace_t trace = {NULL, NULL, 8858, LOCATE_parser___ReduceAction176___action};
14752 val_t variable[19];
14753 void **closurevariable = NULL;
14754 trace.prev = tracehead; tracehead = &trace;
14755 trace.file = LOCATE_parser;
14756 variable[0] = self;
14757 variable[1] = param0;
14758 variable[3] = NIT_NULL /*null*/;
14759 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14760 variable[4] = variable[5];
14761 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14762 variable[5] = variable[6];
14763 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14764 variable[6] = variable[7];
14765 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14766 variable[7] = variable[8];
14767 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14768 variable[8] = variable[9];
14769 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14770 variable[9] = variable[10];
14771 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14772 variable[10] = variable[11];
14773 variable[11] = variable[10] /*nodearraylist1*/;
14774 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14775 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction176___action, LOCATE_parser, 8869); nit_exit(1);}
14776 variable[12] = variable[9] /*nodearraylist2*/;
14777 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14778 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction176___action, LOCATE_parser, 8871); nit_exit(1);}
14779 variable[13] = variable[8] /*nodearraylist3*/;
14780 variable[14] = TAG_Bool(( variable[13] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
14781 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction176___action, LOCATE_parser, 8873); nit_exit(1);}
14782 variable[14] = variable[7] /*nodearraylist4*/;
14783 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
14784 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction176___action, LOCATE_parser, 8875); nit_exit(1);}
14785 variable[15] = variable[6] /*nodearraylist5*/;
14786 variable[16] = TAG_Bool(( variable[15] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[15] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
14787 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction176___action, LOCATE_parser, 8877); nit_exit(1);}
14788 variable[16] = variable[4] /*nodearraylist7*/;
14789 variable[17] = TAG_Bool(( variable[16] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14790 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction176___action, LOCATE_parser, 8879); nit_exit(1);}
14791 variable[18] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwinitnode5*/, variable[14] /*pmethidnode6*/, variable[15] /*psignaturenode7*/, variable[16] /*pexprnode8*/); /*new AConcreteInitPropdef*/
14792 variable[17] = variable[18];
14793 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
14794 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14795 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
14796 return_label384: while(false);
14797 tracehead = trace.prev;
14798 return;
14799 }
14800 void parser___ReduceAction176___init(val_t self, int* init_table) {
14801 struct trace_t trace = {NULL, NULL, 8892, LOCATE_parser___ReduceAction176___init};
14802 val_t variable[2];
14803 void **closurevariable = NULL;
14804 trace.prev = tracehead; tracehead = &trace;
14805 trace.file = LOCATE_parser;
14806 variable[0] = self;
14807 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction176].i]) return;
14808 return_label385: while(false);
14809 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction176].i] = 1;
14810 tracehead = trace.prev;
14811 return;
14812 }
14813 void parser___ReduceAction177___action(val_t self, val_t param0) {
14814 struct trace_t trace = {NULL, NULL, 8896, LOCATE_parser___ReduceAction177___action};
14815 val_t variable[21];
14816 void **closurevariable = NULL;
14817 trace.prev = tracehead; tracehead = &trace;
14818 trace.file = LOCATE_parser;
14819 variable[0] = self;
14820 variable[1] = param0;
14821 variable[3] = NIT_NULL /*null*/;
14822 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14823 variable[4] = variable[5];
14824 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14825 variable[5] = variable[6];
14826 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14827 variable[6] = variable[7];
14828 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14829 variable[7] = variable[8];
14830 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14831 variable[8] = variable[9];
14832 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14833 variable[9] = variable[10];
14834 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14835 variable[10] = variable[11];
14836 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14837 variable[11] = variable[12];
14838 variable[12] = variable[11] /*nodearraylist1*/;
14839 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14840 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 8908); nit_exit(1);}
14841 variable[13] = variable[10] /*nodearraylist2*/;
14842 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14843 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 8910); nit_exit(1);}
14844 variable[14] = variable[9] /*nodearraylist3*/;
14845 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14846 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 8912); nit_exit(1);}
14847 variable[15] = variable[8] /*nodearraylist4*/;
14848 variable[16] = TAG_Bool(( variable[15] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
14849 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 8914); nit_exit(1);}
14850 variable[16] = variable[7] /*nodearraylist5*/;
14851 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
14852 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 8916); nit_exit(1);}
14853 variable[17] = variable[6] /*nodearraylist6*/;
14854 variable[18] = TAG_Bool(( variable[17] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[17] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
14855 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 8918); nit_exit(1);}
14856 variable[18] = variable[4] /*nodearraylist8*/;
14857 variable[19] = TAG_Bool(( variable[18] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14858 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 8920); nit_exit(1);}
14859 variable[20] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwinitnode5*/, variable[16] /*pmethidnode6*/, variable[17] /*psignaturenode7*/, variable[18] /*pexprnode8*/); /*new AConcreteInitPropdef*/
14860 variable[19] = variable[20];
14861 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
14862 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14863 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
14864 return_label386: while(false);
14865 tracehead = trace.prev;
14866 return;
14867 }
14868 void parser___ReduceAction177___init(val_t self, int* init_table) {
14869 struct trace_t trace = {NULL, NULL, 8933, LOCATE_parser___ReduceAction177___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(variable[0])->vft[INIT_TABLE_POS_ReduceAction177].i]) return;
14876 return_label387: while(false);
14877 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction177].i] = 1;
14878 tracehead = trace.prev;
14879 return;
14880 }
14881 void parser___ReduceAction178___action(val_t self, val_t param0) {
14882 struct trace_t trace = {NULL, NULL, 8937, LOCATE_parser___ReduceAction178___action};
14883 val_t variable[18];
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] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14891 variable[4] = variable[5];
14892 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14893 variable[5] = variable[6];
14894 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14895 variable[6] = variable[7];
14896 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14897 variable[7] = variable[8];
14898 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14899 variable[8] = variable[9];
14900 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14901 variable[9] = variable[10];
14902 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14903 variable[10] = variable[11];
14904 variable[11] = variable[10] /*nodearraylist1*/;
14905 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14906 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction178___action, LOCATE_parser, 8948); nit_exit(1);}
14907 variable[12] = variable[9] /*nodearraylist2*/;
14908 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14909 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction178___action, LOCATE_parser, 8950); nit_exit(1);}
14910 variable[13] = variable[8] /*nodearraylist3*/;
14911 variable[14] = TAG_Bool(( variable[13] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
14912 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction178___action, LOCATE_parser, 8952); nit_exit(1);}
14913 variable[14] = variable[7] /*nodearraylist4*/;
14914 variable[15] = TAG_Bool(( variable[14] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[14] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
14915 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction178___action, LOCATE_parser, 8954); nit_exit(1);}
14916 variable[15] = variable[5] /*nodearraylist6*/;
14917 variable[16] = TAG_Bool(( variable[15] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[15] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14918 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction178___action, LOCATE_parser, 8956); nit_exit(1);}
14919 variable[17] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[14] /*psignaturenode7*/, variable[15] /*pexprnode8*/); /*new AConcreteInitPropdef*/
14920 variable[16] = variable[17];
14921 variable[3] = variable[16] /*ppropdefnode1*/ /*node_list=*/;
14922 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14923 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
14924 return_label388: while(false);
14925 tracehead = trace.prev;
14926 return;
14927 }
14928 void parser___ReduceAction178___init(val_t self, int* init_table) {
14929 struct trace_t trace = {NULL, NULL, 8969, LOCATE_parser___ReduceAction178___init};
14930 val_t variable[2];
14931 void **closurevariable = NULL;
14932 trace.prev = tracehead; tracehead = &trace;
14933 trace.file = LOCATE_parser;
14934 variable[0] = self;
14935 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction178].i]) return;
14936 return_label389: while(false);
14937 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction178].i] = 1;
14938 tracehead = trace.prev;
14939 return;
14940 }
14941 void parser___ReduceAction179___action(val_t self, val_t param0) {
14942 struct trace_t trace = {NULL, NULL, 8973, LOCATE_parser___ReduceAction179___action};
14943 val_t variable[20];
14944 void **closurevariable = NULL;
14945 trace.prev = tracehead; tracehead = &trace;
14946 trace.file = LOCATE_parser;
14947 variable[0] = self;
14948 variable[1] = param0;
14949 variable[3] = NIT_NULL /*null*/;
14950 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14951 variable[4] = variable[5];
14952 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14953 variable[5] = variable[6];
14954 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14955 variable[6] = variable[7];
14956 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14957 variable[7] = variable[8];
14958 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14959 variable[8] = variable[9];
14960 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14961 variable[9] = variable[10];
14962 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14963 variable[10] = variable[11];
14964 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14965 variable[11] = variable[12];
14966 variable[12] = variable[11] /*nodearraylist1*/;
14967 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14968 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction179___action, LOCATE_parser, 8985); nit_exit(1);}
14969 variable[13] = variable[10] /*nodearraylist2*/;
14970 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14971 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction179___action, LOCATE_parser, 8987); nit_exit(1);}
14972 variable[14] = variable[9] /*nodearraylist3*/;
14973 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14974 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction179___action, LOCATE_parser, 8989); nit_exit(1);}
14975 variable[15] = variable[8] /*nodearraylist4*/;
14976 variable[16] = TAG_Bool(( variable[15] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
14977 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction179___action, LOCATE_parser, 8991); nit_exit(1);}
14978 variable[16] = variable[7] /*nodearraylist5*/;
14979 variable[17] = TAG_Bool(( variable[16] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[16] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
14980 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction179___action, LOCATE_parser, 8993); nit_exit(1);}
14981 variable[17] = variable[5] /*nodearraylist7*/;
14982 variable[18] = TAG_Bool(( variable[17] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14983 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction179___action, LOCATE_parser, 8995); nit_exit(1);}
14984 variable[19] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[16] /*psignaturenode7*/, variable[17] /*pexprnode8*/); /*new AConcreteInitPropdef*/
14985 variable[18] = variable[19];
14986 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
14987 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14988 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
14989 return_label390: while(false);
14990 tracehead = trace.prev;
14991 return;
14992 }
14993 void parser___ReduceAction179___init(val_t self, int* init_table) {
14994 struct trace_t trace = {NULL, NULL, 9008, LOCATE_parser___ReduceAction179___init};
14995 val_t variable[2];
14996 void **closurevariable = NULL;
14997 trace.prev = tracehead; tracehead = &trace;
14998 trace.file = LOCATE_parser;
14999 variable[0] = self;
15000 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction179].i]) return;
15001 return_label391: while(false);
15002 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction179].i] = 1;
15003 tracehead = trace.prev;
15004 return;
15005 }
15006 void parser___ReduceAction180___action(val_t self, val_t param0) {
15007 struct trace_t trace = {NULL, NULL, 9012, LOCATE_parser___ReduceAction180___action};
15008 val_t variable[20];
15009 void **closurevariable = NULL;
15010 trace.prev = tracehead; tracehead = &trace;
15011 trace.file = LOCATE_parser;
15012 variable[0] = self;
15013 variable[1] = param0;
15014 variable[3] = NIT_NULL /*null*/;
15015 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15016 variable[4] = variable[5];
15017 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15018 variable[5] = variable[6];
15019 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15020 variable[6] = variable[7];
15021 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15022 variable[7] = variable[8];
15023 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15024 variable[8] = variable[9];
15025 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15026 variable[9] = variable[10];
15027 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15028 variable[10] = variable[11];
15029 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15030 variable[11] = variable[12];
15031 variable[12] = variable[11] /*nodearraylist1*/;
15032 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15033 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction180___action, LOCATE_parser, 9024); nit_exit(1);}
15034 variable[13] = variable[10] /*nodearraylist2*/;
15035 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15036 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction180___action, LOCATE_parser, 9026); nit_exit(1);}
15037 variable[14] = variable[9] /*nodearraylist3*/;
15038 variable[15] = TAG_Bool(( variable[14] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
15039 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction180___action, LOCATE_parser, 9028); nit_exit(1);}
15040 variable[15] = variable[8] /*nodearraylist4*/;
15041 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15042 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction180___action, LOCATE_parser, 9030); nit_exit(1);}
15043 variable[16] = variable[7] /*nodearraylist5*/;
15044 variable[17] = TAG_Bool(( variable[16] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[16] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
15045 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction180___action, LOCATE_parser, 9032); nit_exit(1);}
15046 variable[17] = variable[5] /*nodearraylist7*/;
15047 variable[18] = TAG_Bool(( variable[17] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15048 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction180___action, LOCATE_parser, 9034); nit_exit(1);}
15049 variable[19] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwinitnode5*/, variable[15] /*pmethidnode6*/, variable[16] /*psignaturenode7*/, variable[17] /*pexprnode8*/); /*new AConcreteInitPropdef*/
15050 variable[18] = variable[19];
15051 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
15052 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15053 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
15054 return_label392: while(false);
15055 tracehead = trace.prev;
15056 return;
15057 }
15058 void parser___ReduceAction180___init(val_t self, int* init_table) {
15059 struct trace_t trace = {NULL, NULL, 9047, LOCATE_parser___ReduceAction180___init};
15060 val_t variable[2];
15061 void **closurevariable = NULL;
15062 trace.prev = tracehead; tracehead = &trace;
15063 trace.file = LOCATE_parser;
15064 variable[0] = self;
15065 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction180].i]) return;
15066 return_label393: while(false);
15067 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction180].i] = 1;
15068 tracehead = trace.prev;
15069 return;
15070 }
15071 void parser___ReduceAction181___action(val_t self, val_t param0) {
15072 struct trace_t trace = {NULL, NULL, 9051, LOCATE_parser___ReduceAction181___action};
15073 val_t variable[22];
15074 void **closurevariable = NULL;
15075 trace.prev = tracehead; tracehead = &trace;
15076 trace.file = LOCATE_parser;
15077 variable[0] = self;
15078 variable[1] = param0;
15079 variable[3] = NIT_NULL /*null*/;
15080 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15081 variable[4] = variable[5];
15082 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15083 variable[5] = variable[6];
15084 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15085 variable[6] = variable[7];
15086 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15087 variable[7] = variable[8];
15088 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15089 variable[8] = variable[9];
15090 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15091 variable[9] = variable[10];
15092 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15093 variable[10] = variable[11];
15094 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15095 variable[11] = variable[12];
15096 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15097 variable[12] = variable[13];
15098 variable[13] = variable[12] /*nodearraylist1*/;
15099 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15100 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction181___action, LOCATE_parser, 9064); nit_exit(1);}
15101 variable[14] = variable[11] /*nodearraylist2*/;
15102 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15103 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction181___action, LOCATE_parser, 9066); nit_exit(1);}
15104 variable[15] = variable[10] /*nodearraylist3*/;
15105 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15106 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction181___action, LOCATE_parser, 9068); nit_exit(1);}
15107 variable[16] = variable[9] /*nodearraylist4*/;
15108 variable[17] = TAG_Bool(( variable[16] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
15109 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction181___action, LOCATE_parser, 9070); nit_exit(1);}
15110 variable[17] = variable[8] /*nodearraylist5*/;
15111 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15112 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction181___action, LOCATE_parser, 9072); nit_exit(1);}
15113 variable[18] = variable[7] /*nodearraylist6*/;
15114 variable[19] = TAG_Bool(( variable[18] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[18] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
15115 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction181___action, LOCATE_parser, 9074); nit_exit(1);}
15116 variable[19] = variable[5] /*nodearraylist8*/;
15117 variable[20] = TAG_Bool(( variable[19] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15118 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction181___action, LOCATE_parser, 9076); nit_exit(1);}
15119 variable[21] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwinitnode5*/, variable[17] /*pmethidnode6*/, variable[18] /*psignaturenode7*/, variable[19] /*pexprnode8*/); /*new AConcreteInitPropdef*/
15120 variable[20] = variable[21];
15121 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
15122 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15123 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
15124 return_label394: while(false);
15125 tracehead = trace.prev;
15126 return;
15127 }
15128 void parser___ReduceAction181___init(val_t self, int* init_table) {
15129 struct trace_t trace = {NULL, NULL, 9089, LOCATE_parser___ReduceAction181___init};
15130 val_t variable[2];
15131 void **closurevariable = NULL;
15132 trace.prev = tracehead; tracehead = &trace;
15133 trace.file = LOCATE_parser;
15134 variable[0] = self;
15135 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction181].i]) return;
15136 return_label395: while(false);
15137 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction181].i] = 1;
15138 tracehead = trace.prev;
15139 return;
15140 }
15141 void parser___ReduceAction182___action(val_t self, val_t param0) {
15142 struct trace_t trace = {NULL, NULL, 9093, LOCATE_parser___ReduceAction182___action};
15143 val_t variable[16];
15144 void **closurevariable = NULL;
15145 trace.prev = tracehead; tracehead = &trace;
15146 trace.file = LOCATE_parser;
15147 variable[0] = self;
15148 variable[1] = param0;
15149 variable[3] = NIT_NULL /*null*/;
15150 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15151 variable[4] = variable[5];
15152 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15153 variable[5] = variable[6];
15154 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15155 variable[6] = variable[7];
15156 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15157 variable[7] = variable[8];
15158 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15159 variable[8] = variable[9];
15160 variable[9] = variable[8] /*nodearraylist1*/;
15161 variable[10] = TAG_Bool(( variable[9] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15162 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction182___action, LOCATE_parser, 9102); nit_exit(1);}
15163 variable[10] = variable[7] /*nodearraylist2*/;
15164 variable[11] = TAG_Bool(( variable[10] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[10] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15165 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction182___action, LOCATE_parser, 9104); nit_exit(1);}
15166 variable[11] = variable[6] /*nodearraylist3*/;
15167 variable[12] = TAG_Bool(( variable[11] /*tkwtypenode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwtypenode5*/, COLOR_TKwtype, ID_TKwtype)) /*cast TKwtype*/;
15168 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction182___action, LOCATE_parser, 9106); nit_exit(1);}
15169 variable[12] = variable[5] /*nodearraylist4*/;
15170 variable[13] = TAG_Bool(( variable[12] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
15171 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction182___action, LOCATE_parser, 9108); nit_exit(1);}
15172 variable[13] = variable[4] /*nodearraylist5*/;
15173 variable[14] = TAG_Bool(( variable[13] /*ptypenode7*/==NIT_NULL) || VAL_ISA( variable[13] /*ptypenode7*/, COLOR_PType, ID_PType)) /*cast PType*/;
15174 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction182___action, LOCATE_parser, 9110); nit_exit(1);}
15175 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*/
15176 variable[14] = variable[15];
15177 variable[3] = variable[14] /*ppropdefnode1*/ /*node_list=*/;
15178 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15179 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
15180 return_label396: while(false);
15181 tracehead = trace.prev;
15182 return;
15183 }
15184 void parser___ReduceAction182___init(val_t self, int* init_table) {
15185 struct trace_t trace = {NULL, NULL, 9122, LOCATE_parser___ReduceAction182___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(variable[0])->vft[INIT_TABLE_POS_ReduceAction182].i]) return;
15192 return_label397: while(false);
15193 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction182].i] = 1;
15194 tracehead = trace.prev;
15195 return;
15196 }
15197 void parser___ReduceAction183___action(val_t self, val_t param0) {
15198 struct trace_t trace = {NULL, NULL, 9126, LOCATE_parser___ReduceAction183___action};
15199 val_t variable[18];
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] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15207 variable[4] = variable[5];
15208 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15209 variable[5] = variable[6];
15210 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15211 variable[6] = variable[7];
15212 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15213 variable[7] = variable[8];
15214 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15215 variable[8] = variable[9];
15216 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15217 variable[9] = variable[10];
15218 variable[10] = variable[9] /*nodearraylist1*/;
15219 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15220 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction183___action, LOCATE_parser, 9136); nit_exit(1);}
15221 variable[11] = variable[8] /*nodearraylist2*/;
15222 variable[12] = TAG_Bool(( variable[11] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15223 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction183___action, LOCATE_parser, 9138); nit_exit(1);}
15224 variable[12] = variable[7] /*nodearraylist3*/;
15225 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15226 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction183___action, LOCATE_parser, 9140); nit_exit(1);}
15227 variable[13] = variable[6] /*nodearraylist4*/;
15228 variable[14] = TAG_Bool(( variable[13] /*tkwtypenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwtypenode5*/, COLOR_TKwtype, ID_TKwtype)) /*cast TKwtype*/;
15229 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction183___action, LOCATE_parser, 9142); nit_exit(1);}
15230 variable[14] = variable[5] /*nodearraylist5*/;
15231 variable[15] = TAG_Bool(( variable[14] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
15232 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction183___action, LOCATE_parser, 9144); nit_exit(1);}
15233 variable[15] = variable[4] /*nodearraylist6*/;
15234 variable[16] = TAG_Bool(( variable[15] /*ptypenode7*/==NIT_NULL) || VAL_ISA( variable[15] /*ptypenode7*/, COLOR_PType, ID_PType)) /*cast PType*/;
15235 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction183___action, LOCATE_parser, 9146); nit_exit(1);}
15236 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*/
15237 variable[16] = variable[17];
15238 variable[3] = variable[16] /*ppropdefnode1*/ /*node_list=*/;
15239 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15240 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
15241 return_label398: while(false);
15242 tracehead = trace.prev;
15243 return;
15244 }
15245 void parser___ReduceAction183___init(val_t self, int* init_table) {
15246 struct trace_t trace = {NULL, NULL, 9158, LOCATE_parser___ReduceAction183___init};
15247 val_t variable[2];
15248 void **closurevariable = NULL;
15249 trace.prev = tracehead; tracehead = &trace;
15250 trace.file = LOCATE_parser;
15251 variable[0] = self;
15252 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction183].i]) return;
15253 return_label399: while(false);
15254 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction183].i] = 1;
15255 tracehead = trace.prev;
15256 return;
15257 }
15258 void parser___ReduceAction184___action(val_t self, val_t param0) {
15259 struct trace_t trace = {NULL, NULL, 9162, LOCATE_parser___ReduceAction184___action};
15260 val_t variable[8];
15261 void **closurevariable = NULL;
15262 trace.prev = tracehead; tracehead = &trace;
15263 trace.file = LOCATE_parser;
15264 variable[0] = self;
15265 variable[1] = param0;
15266 variable[3] = NIT_NULL /*null*/;
15267 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15268 variable[4] = variable[5];
15269 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15270 variable[5] = variable[6];
15271 variable[6] = variable[5] /*nodearraylist1*/;
15272 variable[7] = TAG_Bool(( variable[6] /*ppropdefnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*ppropdefnode1*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
15273 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction184___action, LOCATE_parser, 9168); nit_exit(1);}
15274 variable[3] = variable[6] /*ppropdefnode1*/ /*node_list=*/;
15275 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(13)) /*Parser::go_to*/;
15276 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
15277 return_label400: while(false);
15278 tracehead = trace.prev;
15279 return;
15280 }
15281 void parser___ReduceAction184___init(val_t self, int* init_table) {
15282 struct trace_t trace = {NULL, NULL, 9172, LOCATE_parser___ReduceAction184___init};
15283 val_t variable[2];
15284 void **closurevariable = NULL;
15285 trace.prev = tracehead; tracehead = &trace;
15286 trace.file = LOCATE_parser;
15287 variable[0] = self;
15288 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction184].i]) return;
15289 return_label401: while(false);
15290 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction184].i] = 1;
15291 tracehead = trace.prev;
15292 return;
15293 }
15294 void parser___ReduceAction185___action(val_t self, val_t param0) {
15295 struct trace_t trace = {NULL, NULL, 9176, LOCATE_parser___ReduceAction185___action};
15296 val_t variable[18];
15297 void **closurevariable = NULL;
15298 trace.prev = tracehead; tracehead = &trace;
15299 trace.file = LOCATE_parser;
15300 variable[0] = self;
15301 variable[1] = param0;
15302 variable[3] = NIT_NULL /*null*/;
15303 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15304 variable[4] = variable[5];
15305 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15306 variable[5] = variable[6];
15307 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15308 variable[6] = variable[7];
15309 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15310 variable[7] = variable[8];
15311 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15312 variable[8] = variable[9];
15313 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15314 variable[9] = variable[10];
15315 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15316 variable[10] = variable[11];
15317 variable[11] = variable[10] /*nodearraylist1*/;
15318 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15319 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction185___action, LOCATE_parser, 9187); nit_exit(1);}
15320 variable[12] = variable[9] /*nodearraylist2*/;
15321 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15322 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction185___action, LOCATE_parser, 9189); nit_exit(1);}
15323 variable[13] = variable[8] /*nodearraylist3*/;
15324 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
15325 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction185___action, LOCATE_parser, 9191); nit_exit(1);}
15326 variable[14] = variable[7] /*nodearraylist4*/;
15327 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15328 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction185___action, LOCATE_parser, 9193); nit_exit(1);}
15329 variable[15] = variable[6] /*nodearraylist5*/;
15330 variable[16] = TAG_Bool(( variable[15] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[15] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
15331 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction185___action, LOCATE_parser, 9195); nit_exit(1);}
15332 variable[17] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwmethnode5*/, variable[14] /*pmethidnode6*/, variable[15] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
15333 variable[16] = variable[17];
15334 variable[3] = variable[16] /*ppropdefnode1*/ /*node_list=*/;
15335 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
15336 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
15337 return_label402: while(false);
15338 tracehead = trace.prev;
15339 return;
15340 }
15341 void parser___ReduceAction185___init(val_t self, int* init_table) {
15342 struct trace_t trace = {NULL, NULL, 9208, LOCATE_parser___ReduceAction185___init};
15343 val_t variable[2];
15344 void **closurevariable = NULL;
15345 trace.prev = tracehead; tracehead = &trace;
15346 trace.file = LOCATE_parser;
15347 variable[0] = self;
15348 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction185].i]) return;
15349 return_label403: while(false);
15350 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction185].i] = 1;
15351 tracehead = trace.prev;
15352 return;
15353 }
15354 void parser___ReduceAction186___action(val_t self, val_t param0) {
15355 struct trace_t trace = {NULL, NULL, 9212, LOCATE_parser___ReduceAction186___action};
15356 val_t variable[20];
15357 void **closurevariable = NULL;
15358 trace.prev = tracehead; tracehead = &trace;
15359 trace.file = LOCATE_parser;
15360 variable[0] = self;
15361 variable[1] = param0;
15362 variable[3] = NIT_NULL /*null*/;
15363 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15364 variable[4] = variable[5];
15365 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15366 variable[5] = variable[6];
15367 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15368 variable[6] = variable[7];
15369 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15370 variable[7] = variable[8];
15371 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15372 variable[8] = variable[9];
15373 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15374 variable[9] = variable[10];
15375 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15376 variable[10] = variable[11];
15377 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15378 variable[11] = variable[12];
15379 variable[12] = variable[11] /*nodearraylist1*/;
15380 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15381 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction186___action, LOCATE_parser, 9224); nit_exit(1);}
15382 variable[13] = variable[10] /*nodearraylist2*/;
15383 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15384 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction186___action, LOCATE_parser, 9226); nit_exit(1);}
15385 variable[14] = variable[9] /*nodearraylist3*/;
15386 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15387 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction186___action, LOCATE_parser, 9228); nit_exit(1);}
15388 variable[15] = variable[8] /*nodearraylist4*/;
15389 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
15390 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction186___action, LOCATE_parser, 9230); nit_exit(1);}
15391 variable[16] = variable[7] /*nodearraylist5*/;
15392 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15393 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction186___action, LOCATE_parser, 9232); nit_exit(1);}
15394 variable[17] = variable[6] /*nodearraylist6*/;
15395 variable[18] = TAG_Bool(( variable[17] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[17] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
15396 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction186___action, LOCATE_parser, 9234); nit_exit(1);}
15397 variable[19] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[17] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
15398 variable[18] = variable[19];
15399 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
15400 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
15401 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
15402 return_label404: while(false);
15403 tracehead = trace.prev;
15404 return;
15405 }
15406 void parser___ReduceAction186___init(val_t self, int* init_table) {
15407 struct trace_t trace = {NULL, NULL, 9247, LOCATE_parser___ReduceAction186___init};
15408 val_t variable[2];
15409 void **closurevariable = NULL;
15410 trace.prev = tracehead; tracehead = &trace;
15411 trace.file = LOCATE_parser;
15412 variable[0] = self;
15413 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction186].i]) return;
15414 return_label405: while(false);
15415 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction186].i] = 1;
15416 tracehead = trace.prev;
15417 return;
15418 }
15419 void parser___ReduceAction187___action(val_t self, val_t param0) {
15420 struct trace_t trace = {NULL, NULL, 9251, LOCATE_parser___ReduceAction187___action};
15421 val_t variable[20];
15422 void **closurevariable = NULL;
15423 trace.prev = tracehead; tracehead = &trace;
15424 trace.file = LOCATE_parser;
15425 variable[0] = self;
15426 variable[1] = param0;
15427 variable[3] = NIT_NULL /*null*/;
15428 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15429 variable[4] = variable[5];
15430 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15431 variable[5] = variable[6];
15432 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15433 variable[6] = variable[7];
15434 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15435 variable[7] = variable[8];
15436 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15437 variable[8] = variable[9];
15438 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15439 variable[9] = variable[10];
15440 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15441 variable[10] = variable[11];
15442 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15443 variable[11] = variable[12];
15444 variable[12] = variable[11] /*nodearraylist1*/;
15445 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15446 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9263); nit_exit(1);}
15447 variable[13] = variable[10] /*nodearraylist2*/;
15448 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15449 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9265); nit_exit(1);}
15450 variable[14] = variable[9] /*nodearraylist3*/;
15451 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
15452 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9267); nit_exit(1);}
15453 variable[15] = variable[8] /*nodearraylist4*/;
15454 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15455 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9269); nit_exit(1);}
15456 variable[16] = variable[7] /*nodearraylist5*/;
15457 variable[17] = TAG_Bool(( variable[16] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[16] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
15458 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9271); nit_exit(1);}
15459 variable[17] = variable[4] /*nodearraylist8*/;
15460 variable[18] = TAG_Bool(( variable[17] /*tstringnode8*/==NIT_NULL) || VAL_ISA( variable[17] /*tstringnode8*/, COLOR_TString, ID_TString)) /*cast TString*/;
15461 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9273); nit_exit(1);}
15462 variable[19] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[16] /*psignaturenode7*/, variable[17] /*tstringnode8*/); /*new AExternMethPropdef*/
15463 variable[18] = variable[19];
15464 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
15465 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
15466 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
15467 return_label406: while(false);
15468 tracehead = trace.prev;
15469 return;
15470 }
15471 void parser___ReduceAction187___init(val_t self, int* init_table) {
15472 struct trace_t trace = {NULL, NULL, 9286, LOCATE_parser___ReduceAction187___init};
15473 val_t variable[2];
15474 void **closurevariable = NULL;
15475 trace.prev = tracehead; tracehead = &trace;
15476 trace.file = LOCATE_parser;
15477 variable[0] = self;
15478 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction187].i]) return;
15479 return_label407: while(false);
15480 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction187].i] = 1;
15481 tracehead = trace.prev;
15482 return;
15483 }
15484 void parser___ReduceAction188___action(val_t self, val_t param0) {
15485 struct trace_t trace = {NULL, NULL, 9290, LOCATE_parser___ReduceAction188___action};
15486 val_t variable[22];
15487 void **closurevariable = NULL;
15488 trace.prev = tracehead; tracehead = &trace;
15489 trace.file = LOCATE_parser;
15490 variable[0] = self;
15491 variable[1] = param0;
15492 variable[3] = NIT_NULL /*null*/;
15493 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15494 variable[4] = variable[5];
15495 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15496 variable[5] = variable[6];
15497 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15498 variable[6] = variable[7];
15499 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15500 variable[7] = variable[8];
15501 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15502 variable[8] = variable[9];
15503 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15504 variable[9] = variable[10];
15505 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15506 variable[10] = variable[11];
15507 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15508 variable[11] = variable[12];
15509 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15510 variable[12] = variable[13];
15511 variable[13] = variable[12] /*nodearraylist1*/;
15512 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15513 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9303); nit_exit(1);}
15514 variable[14] = variable[11] /*nodearraylist2*/;
15515 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15516 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9305); nit_exit(1);}
15517 variable[15] = variable[10] /*nodearraylist3*/;
15518 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15519 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9307); nit_exit(1);}
15520 variable[16] = variable[9] /*nodearraylist4*/;
15521 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
15522 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9309); nit_exit(1);}
15523 variable[17] = variable[8] /*nodearraylist5*/;
15524 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15525 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9311); nit_exit(1);}
15526 variable[18] = variable[7] /*nodearraylist6*/;
15527 variable[19] = TAG_Bool(( variable[18] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[18] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
15528 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9313); nit_exit(1);}
15529 variable[19] = variable[4] /*nodearraylist9*/;
15530 variable[20] = TAG_Bool(( variable[19] /*tstringnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*tstringnode8*/, COLOR_TString, ID_TString)) /*cast TString*/;
15531 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9315); nit_exit(1);}
15532 variable[21] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[18] /*psignaturenode7*/, variable[19] /*tstringnode8*/); /*new AExternMethPropdef*/
15533 variable[20] = variable[21];
15534 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
15535 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
15536 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
15537 return_label408: while(false);
15538 tracehead = trace.prev;
15539 return;
15540 }
15541 void parser___ReduceAction188___init(val_t self, int* init_table) {
15542 struct trace_t trace = {NULL, NULL, 9328, LOCATE_parser___ReduceAction188___init};
15543 val_t variable[2];
15544 void **closurevariable = NULL;
15545 trace.prev = tracehead; tracehead = &trace;
15546 trace.file = LOCATE_parser;
15547 variable[0] = self;
15548 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction188].i]) return;
15549 return_label409: while(false);
15550 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction188].i] = 1;
15551 tracehead = trace.prev;
15552 return;
15553 }
15554 void parser___ReduceAction189___action(val_t self, val_t param0) {
15555 struct trace_t trace = {NULL, NULL, 9332, LOCATE_parser___ReduceAction189___action};
15556 val_t variable[19];
15557 void **closurevariable = NULL;
15558 trace.prev = tracehead; tracehead = &trace;
15559 trace.file = LOCATE_parser;
15560 variable[0] = self;
15561 variable[1] = param0;
15562 variable[3] = NIT_NULL /*null*/;
15563 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15564 variable[4] = variable[5];
15565 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15566 variable[5] = variable[6];
15567 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15568 variable[6] = variable[7];
15569 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15570 variable[7] = variable[8];
15571 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15572 variable[8] = variable[9];
15573 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15574 variable[9] = variable[10];
15575 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15576 variable[10] = variable[11];
15577 variable[11] = variable[10] /*nodearraylist1*/;
15578 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15579 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction189___action, LOCATE_parser, 9343); nit_exit(1);}
15580 variable[12] = variable[9] /*nodearraylist2*/;
15581 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15582 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction189___action, LOCATE_parser, 9345); nit_exit(1);}
15583 variable[13] = variable[8] /*nodearraylist3*/;
15584 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
15585 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction189___action, LOCATE_parser, 9347); nit_exit(1);}
15586 variable[14] = variable[7] /*nodearraylist4*/;
15587 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15588 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction189___action, LOCATE_parser, 9349); nit_exit(1);}
15589 variable[15] = variable[6] /*nodearraylist5*/;
15590 variable[16] = TAG_Bool(( variable[15] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[15] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
15591 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction189___action, LOCATE_parser, 9351); nit_exit(1);}
15592 variable[16] = variable[4] /*nodearraylist7*/;
15593 variable[17] = TAG_Bool(( variable[16] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15594 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction189___action, LOCATE_parser, 9353); nit_exit(1);}
15595 variable[18] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwmethnode5*/, variable[14] /*pmethidnode6*/, variable[15] /*psignaturenode7*/, variable[16] /*pexprnode8*/); /*new AConcreteMethPropdef*/
15596 variable[17] = variable[18];
15597 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
15598 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
15599 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
15600 return_label410: while(false);
15601 tracehead = trace.prev;
15602 return;
15603 }
15604 void parser___ReduceAction189___init(val_t self, int* init_table) {
15605 struct trace_t trace = {NULL, NULL, 9366, LOCATE_parser___ReduceAction189___init};
15606 val_t variable[2];
15607 void **closurevariable = NULL;
15608 trace.prev = tracehead; tracehead = &trace;
15609 trace.file = LOCATE_parser;
15610 variable[0] = self;
15611 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction189].i]) return;
15612 return_label411: while(false);
15613 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction189].i] = 1;
15614 tracehead = trace.prev;
15615 return;
15616 }
15617 void parser___ReduceAction190___action(val_t self, val_t param0) {
15618 struct trace_t trace = {NULL, NULL, 9370, LOCATE_parser___ReduceAction190___action};
15619 val_t variable[21];
15620 void **closurevariable = NULL;
15621 trace.prev = tracehead; tracehead = &trace;
15622 trace.file = LOCATE_parser;
15623 variable[0] = self;
15624 variable[1] = param0;
15625 variable[3] = NIT_NULL /*null*/;
15626 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15627 variable[4] = variable[5];
15628 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15629 variable[5] = variable[6];
15630 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15631 variable[6] = variable[7];
15632 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15633 variable[7] = variable[8];
15634 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15635 variable[8] = variable[9];
15636 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15637 variable[9] = variable[10];
15638 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15639 variable[10] = variable[11];
15640 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15641 variable[11] = variable[12];
15642 variable[12] = variable[11] /*nodearraylist1*/;
15643 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15644 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9382); nit_exit(1);}
15645 variable[13] = variable[10] /*nodearraylist2*/;
15646 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15647 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9384); nit_exit(1);}
15648 variable[14] = variable[9] /*nodearraylist3*/;
15649 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15650 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9386); nit_exit(1);}
15651 variable[15] = variable[8] /*nodearraylist4*/;
15652 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
15653 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9388); nit_exit(1);}
15654 variable[16] = variable[7] /*nodearraylist5*/;
15655 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15656 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9390); nit_exit(1);}
15657 variable[17] = variable[6] /*nodearraylist6*/;
15658 variable[18] = TAG_Bool(( variable[17] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[17] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
15659 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9392); nit_exit(1);}
15660 variable[18] = variable[4] /*nodearraylist8*/;
15661 variable[19] = TAG_Bool(( variable[18] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15662 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9394); nit_exit(1);}
15663 variable[20] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[17] /*psignaturenode7*/, variable[18] /*pexprnode8*/); /*new AConcreteMethPropdef*/
15664 variable[19] = variable[20];
15665 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
15666 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
15667 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
15668 return_label412: while(false);
15669 tracehead = trace.prev;
15670 return;
15671 }
15672 void parser___ReduceAction190___init(val_t self, int* init_table) {
15673 struct trace_t trace = {NULL, NULL, 9407, LOCATE_parser___ReduceAction190___init};
15674 val_t variable[2];
15675 void **closurevariable = NULL;
15676 trace.prev = tracehead; tracehead = &trace;
15677 trace.file = LOCATE_parser;
15678 variable[0] = self;
15679 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction190].i]) return;
15680 return_label413: while(false);
15681 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction190].i] = 1;
15682 tracehead = trace.prev;
15683 return;
15684 }
15685 void parser___ReduceAction191___action(val_t self, val_t param0) {
15686 struct trace_t trace = {NULL, NULL, 9411, LOCATE_parser___ReduceAction191___action};
15687 val_t variable[6];
15688 void **closurevariable = NULL;
15689 trace.prev = tracehead; tracehead = &trace;
15690 trace.file = LOCATE_parser;
15691 variable[0] = self;
15692 variable[1] = param0;
15693 variable[3] = NIT_NULL /*null*/;
15694 variable[5] = NEW_APublicVisibility_parser_prod___APublicVisibility___init_apublicvisibility(); /*new APublicVisibility*/
15695 variable[4] = variable[5];
15696 variable[3] = variable[4] /*pvisibilitynode1*/ /*node_list=*/;
15697 variable[5] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(15)) /*Parser::go_to*/;
15698 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
15699 return_label414: while(false);
15700 tracehead = trace.prev;
15701 return;
15702 }
15703 void parser___ReduceAction191___init(val_t self, int* init_table) {
15704 struct trace_t trace = {NULL, NULL, 9419, LOCATE_parser___ReduceAction191___init};
15705 val_t variable[2];
15706 void **closurevariable = NULL;
15707 trace.prev = tracehead; tracehead = &trace;
15708 trace.file = LOCATE_parser;
15709 variable[0] = self;
15710 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction191].i]) return;
15711 return_label415: while(false);
15712 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction191].i] = 1;
15713 tracehead = trace.prev;
15714 return;
15715 }
15716 void parser___ReduceAction192___action(val_t self, val_t param0) {
15717 struct trace_t trace = {NULL, NULL, 9423, LOCATE_parser___ReduceAction192___action};
15718 val_t variable[9];
15719 void **closurevariable = NULL;
15720 trace.prev = tracehead; tracehead = &trace;
15721 trace.file = LOCATE_parser;
15722 variable[0] = self;
15723 variable[1] = param0;
15724 variable[3] = NIT_NULL /*null*/;
15725 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15726 variable[4] = variable[5];
15727 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15728 variable[5] = variable[6];
15729 variable[6] = variable[5] /*nodearraylist1*/;
15730 variable[7] = TAG_Bool(( variable[6] /*tkwprivatenode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwprivatenode2*/, COLOR_TKwprivate, ID_TKwprivate)) /*cast TKwprivate*/;
15731 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction192___action, LOCATE_parser, 9429); nit_exit(1);}
15732 variable[8] = NEW_APrivateVisibility_parser_prod___APrivateVisibility___init_aprivatevisibility( variable[6] /*tkwprivatenode2*/); /*new APrivateVisibility*/
15733 variable[7] = variable[8];
15734 variable[3] = variable[7] /*pvisibilitynode1*/ /*node_list=*/;
15735 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(15)) /*Parser::go_to*/;
15736 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
15737 return_label416: while(false);
15738 tracehead = trace.prev;
15739 return;
15740 }
15741 void parser___ReduceAction192___init(val_t self, int* init_table) {
15742 struct trace_t trace = {NULL, NULL, 9436, LOCATE_parser___ReduceAction192___init};
15743 val_t variable[2];
15744 void **closurevariable = NULL;
15745 trace.prev = tracehead; tracehead = &trace;
15746 trace.file = LOCATE_parser;
15747 variable[0] = self;
15748 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction192].i]) return;
15749 return_label417: while(false);
15750 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction192].i] = 1;
15751 tracehead = trace.prev;
15752 return;
15753 }
15754 void parser___ReduceAction193___action(val_t self, val_t param0) {
15755 struct trace_t trace = {NULL, NULL, 9440, LOCATE_parser___ReduceAction193___action};
15756 val_t variable[9];
15757 void **closurevariable = NULL;
15758 trace.prev = tracehead; tracehead = &trace;
15759 trace.file = LOCATE_parser;
15760 variable[0] = self;
15761 variable[1] = param0;
15762 variable[3] = NIT_NULL /*null*/;
15763 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15764 variable[4] = variable[5];
15765 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15766 variable[5] = variable[6];
15767 variable[6] = variable[5] /*nodearraylist1*/;
15768 variable[7] = TAG_Bool(( variable[6] /*tkwprotectednode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwprotectednode2*/, COLOR_TKwprotected, ID_TKwprotected)) /*cast TKwprotected*/;
15769 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction193___action, LOCATE_parser, 9446); nit_exit(1);}
15770 variable[8] = NEW_AProtectedVisibility_parser_prod___AProtectedVisibility___init_aprotectedvisibility( variable[6] /*tkwprotectednode2*/); /*new AProtectedVisibility*/
15771 variable[7] = variable[8];
15772 variable[3] = variable[7] /*pvisibilitynode1*/ /*node_list=*/;
15773 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(15)) /*Parser::go_to*/;
15774 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
15775 return_label418: while(false);
15776 tracehead = trace.prev;
15777 return;
15778 }
15779 void parser___ReduceAction193___init(val_t self, int* init_table) {
15780 struct trace_t trace = {NULL, NULL, 9453, LOCATE_parser___ReduceAction193___init};
15781 val_t variable[2];
15782 void **closurevariable = NULL;
15783 trace.prev = tracehead; tracehead = &trace;
15784 trace.file = LOCATE_parser;
15785 variable[0] = self;
15786 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction193].i]) return;
15787 return_label419: while(false);
15788 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction193].i] = 1;
15789 tracehead = trace.prev;
15790 return;
15791 }
15792 void parser___ReduceAction194___action(val_t self, val_t param0) {
15793 struct trace_t trace = {NULL, NULL, 9457, LOCATE_parser___ReduceAction194___action};
15794 val_t variable[9];
15795 void **closurevariable = NULL;
15796 trace.prev = tracehead; tracehead = &trace;
15797 trace.file = LOCATE_parser;
15798 variable[0] = self;
15799 variable[1] = param0;
15800 variable[3] = NIT_NULL /*null*/;
15801 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15802 variable[4] = variable[5];
15803 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15804 variable[5] = variable[6];
15805 variable[6] = variable[5] /*nodearraylist1*/;
15806 variable[7] = TAG_Bool(( variable[6] /*tkwintrudenode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwintrudenode2*/, COLOR_TKwintrude, ID_TKwintrude)) /*cast TKwintrude*/;
15807 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction194___action, LOCATE_parser, 9463); nit_exit(1);}
15808 variable[8] = NEW_AIntrudeVisibility_parser_prod___AIntrudeVisibility___init_aintrudevisibility( variable[6] /*tkwintrudenode2*/); /*new AIntrudeVisibility*/
15809 variable[7] = variable[8];
15810 variable[3] = variable[7] /*pvisibilitynode1*/ /*node_list=*/;
15811 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(15)) /*Parser::go_to*/;
15812 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
15813 return_label420: while(false);
15814 tracehead = trace.prev;
15815 return;
15816 }
15817 void parser___ReduceAction194___init(val_t self, int* init_table) {
15818 struct trace_t trace = {NULL, NULL, 9470, LOCATE_parser___ReduceAction194___init};
15819 val_t variable[2];
15820 void **closurevariable = NULL;
15821 trace.prev = tracehead; tracehead = &trace;
15822 trace.file = LOCATE_parser;
15823 variable[0] = self;
15824 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction194].i]) return;
15825 return_label421: while(false);
15826 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction194].i] = 1;
15827 tracehead = trace.prev;
15828 return;
15829 }
15830 void parser___ReduceAction195___action(val_t self, val_t param0) {
15831 struct trace_t trace = {NULL, NULL, 9474, LOCATE_parser___ReduceAction195___action};
15832 val_t variable[8];
15833 void **closurevariable = NULL;
15834 trace.prev = tracehead; tracehead = &trace;
15835 trace.file = LOCATE_parser;
15836 variable[0] = self;
15837 variable[1] = param0;
15838 variable[3] = NIT_NULL /*null*/;
15839 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15840 variable[4] = variable[5];
15841 variable[5] = variable[4] /*nodearraylist1*/;
15842 variable[6] = TAG_Bool(( variable[5] /*tidnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
15843 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction195___action, LOCATE_parser, 9479); nit_exit(1);}
15844 variable[7] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid( variable[5] /*tidnode2*/); /*new AIdMethid*/
15845 variable[6] = variable[7];
15846 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
15847 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
15848 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
15849 return_label422: while(false);
15850 tracehead = trace.prev;
15851 return;
15852 }
15853 void parser___ReduceAction195___init(val_t self, int* init_table) {
15854 struct trace_t trace = {NULL, NULL, 9486, LOCATE_parser___ReduceAction195___init};
15855 val_t variable[2];
15856 void **closurevariable = NULL;
15857 trace.prev = tracehead; tracehead = &trace;
15858 trace.file = LOCATE_parser;
15859 variable[0] = self;
15860 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction195].i]) return;
15861 return_label423: while(false);
15862 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction195].i] = 1;
15863 tracehead = trace.prev;
15864 return;
15865 }
15866 void parser___ReduceAction196___action(val_t self, val_t param0) {
15867 struct trace_t trace = {NULL, NULL, 9490, LOCATE_parser___ReduceAction196___action};
15868 val_t variable[8];
15869 void **closurevariable = NULL;
15870 trace.prev = tracehead; tracehead = &trace;
15871 trace.file = LOCATE_parser;
15872 variable[0] = self;
15873 variable[1] = param0;
15874 variable[3] = NIT_NULL /*null*/;
15875 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15876 variable[4] = variable[5];
15877 variable[5] = variable[4] /*nodearraylist1*/;
15878 variable[6] = TAG_Bool(( variable[5] /*tplusnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tplusnode2*/, COLOR_TPlus, ID_TPlus)) /*cast TPlus*/;
15879 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction196___action, LOCATE_parser, 9495); nit_exit(1);}
15880 variable[7] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid( variable[5] /*tplusnode2*/); /*new APlusMethid*/
15881 variable[6] = variable[7];
15882 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
15883 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
15884 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
15885 return_label424: while(false);
15886 tracehead = trace.prev;
15887 return;
15888 }
15889 void parser___ReduceAction196___init(val_t self, int* init_table) {
15890 struct trace_t trace = {NULL, NULL, 9502, LOCATE_parser___ReduceAction196___init};
15891 val_t variable[2];
15892 void **closurevariable = NULL;
15893 trace.prev = tracehead; tracehead = &trace;
15894 trace.file = LOCATE_parser;
15895 variable[0] = self;
15896 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction196].i]) return;
15897 return_label425: while(false);
15898 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction196].i] = 1;
15899 tracehead = trace.prev;
15900 return;
15901 }
15902 void parser___ReduceAction197___action(val_t self, val_t param0) {
15903 struct trace_t trace = {NULL, NULL, 9506, LOCATE_parser___ReduceAction197___action};
15904 val_t variable[8];
15905 void **closurevariable = NULL;
15906 trace.prev = tracehead; tracehead = &trace;
15907 trace.file = LOCATE_parser;
15908 variable[0] = self;
15909 variable[1] = param0;
15910 variable[3] = NIT_NULL /*null*/;
15911 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15912 variable[4] = variable[5];
15913 variable[5] = variable[4] /*nodearraylist1*/;
15914 variable[6] = TAG_Bool(( variable[5] /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
15915 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction197___action, LOCATE_parser, 9511); nit_exit(1);}
15916 variable[7] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid( variable[5] /*tminusnode2*/); /*new AMinusMethid*/
15917 variable[6] = variable[7];
15918 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
15919 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
15920 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
15921 return_label426: while(false);
15922 tracehead = trace.prev;
15923 return;
15924 }
15925 void parser___ReduceAction197___init(val_t self, int* init_table) {
15926 struct trace_t trace = {NULL, NULL, 9518, LOCATE_parser___ReduceAction197___init};
15927 val_t variable[2];
15928 void **closurevariable = NULL;
15929 trace.prev = tracehead; tracehead = &trace;
15930 trace.file = LOCATE_parser;
15931 variable[0] = self;
15932 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction197].i]) return;
15933 return_label427: while(false);
15934 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction197].i] = 1;
15935 tracehead = trace.prev;
15936 return;
15937 }
15938 void parser___ReduceAction198___action(val_t self, val_t param0) {
15939 struct trace_t trace = {NULL, NULL, 9522, LOCATE_parser___ReduceAction198___action};
15940 val_t variable[8];
15941 void **closurevariable = NULL;
15942 trace.prev = tracehead; tracehead = &trace;
15943 trace.file = LOCATE_parser;
15944 variable[0] = self;
15945 variable[1] = param0;
15946 variable[3] = NIT_NULL /*null*/;
15947 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15948 variable[4] = variable[5];
15949 variable[5] = variable[4] /*nodearraylist1*/;
15950 variable[6] = TAG_Bool(( variable[5] /*tstarnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tstarnode2*/, COLOR_TStar, ID_TStar)) /*cast TStar*/;
15951 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction198___action, LOCATE_parser, 9527); nit_exit(1);}
15952 variable[7] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid( variable[5] /*tstarnode2*/); /*new AStarMethid*/
15953 variable[6] = variable[7];
15954 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
15955 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
15956 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
15957 return_label428: while(false);
15958 tracehead = trace.prev;
15959 return;
15960 }
15961 void parser___ReduceAction198___init(val_t self, int* init_table) {
15962 struct trace_t trace = {NULL, NULL, 9534, LOCATE_parser___ReduceAction198___init};
15963 val_t variable[2];
15964 void **closurevariable = NULL;
15965 trace.prev = tracehead; tracehead = &trace;
15966 trace.file = LOCATE_parser;
15967 variable[0] = self;
15968 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction198].i]) return;
15969 return_label429: while(false);
15970 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction198].i] = 1;
15971 tracehead = trace.prev;
15972 return;
15973 }
15974 void parser___ReduceAction199___action(val_t self, val_t param0) {
15975 struct trace_t trace = {NULL, NULL, 9538, LOCATE_parser___ReduceAction199___action};
15976 val_t variable[8];
15977 void **closurevariable = NULL;
15978 trace.prev = tracehead; tracehead = &trace;
15979 trace.file = LOCATE_parser;
15980 variable[0] = self;
15981 variable[1] = param0;
15982 variable[3] = NIT_NULL /*null*/;
15983 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15984 variable[4] = variable[5];
15985 variable[5] = variable[4] /*nodearraylist1*/;
15986 variable[6] = TAG_Bool(( variable[5] /*tslashnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tslashnode2*/, COLOR_TSlash, ID_TSlash)) /*cast TSlash*/;
15987 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction199___action, LOCATE_parser, 9543); nit_exit(1);}
15988 variable[7] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid( variable[5] /*tslashnode2*/); /*new ASlashMethid*/
15989 variable[6] = variable[7];
15990 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
15991 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
15992 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
15993 return_label430: while(false);
15994 tracehead = trace.prev;
15995 return;
15996 }
15997 void parser___ReduceAction199___init(val_t self, int* init_table) {
15998 struct trace_t trace = {NULL, NULL, 9550, LOCATE_parser___ReduceAction199___init};
15999 val_t variable[2];
16000 void **closurevariable = NULL;
16001 trace.prev = tracehead; tracehead = &trace;
16002 trace.file = LOCATE_parser;
16003 variable[0] = self;
16004 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction199].i]) return;
16005 return_label431: while(false);
16006 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction199].i] = 1;
16007 tracehead = trace.prev;
16008 return;
16009 }
16010 void parser___ReduceAction200___action(val_t self, val_t param0) {
16011 struct trace_t trace = {NULL, NULL, 9554, LOCATE_parser___ReduceAction200___action};
16012 val_t variable[8];
16013 void **closurevariable = NULL;
16014 trace.prev = tracehead; tracehead = &trace;
16015 trace.file = LOCATE_parser;
16016 variable[0] = self;
16017 variable[1] = param0;
16018 variable[3] = NIT_NULL /*null*/;
16019 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16020 variable[4] = variable[5];
16021 variable[5] = variable[4] /*nodearraylist1*/;
16022 variable[6] = TAG_Bool(( variable[5] /*tpercentnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tpercentnode2*/, COLOR_TPercent, ID_TPercent)) /*cast TPercent*/;
16023 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction200___action, LOCATE_parser, 9559); nit_exit(1);}
16024 variable[7] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid( variable[5] /*tpercentnode2*/); /*new APercentMethid*/
16025 variable[6] = variable[7];
16026 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
16027 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
16028 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
16029 return_label432: while(false);
16030 tracehead = trace.prev;
16031 return;
16032 }
16033 void parser___ReduceAction200___init(val_t self, int* init_table) {
16034 struct trace_t trace = {NULL, NULL, 9566, LOCATE_parser___ReduceAction200___init};
16035 val_t variable[2];
16036 void **closurevariable = NULL;
16037 trace.prev = tracehead; tracehead = &trace;
16038 trace.file = LOCATE_parser;
16039 variable[0] = self;
16040 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction200].i]) return;
16041 return_label433: while(false);
16042 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction200].i] = 1;
16043 tracehead = trace.prev;
16044 return;
16045 }
16046 void parser___ReduceAction201___action(val_t self, val_t param0) {
16047 struct trace_t trace = {NULL, NULL, 9570, LOCATE_parser___ReduceAction201___action};
16048 val_t variable[8];
16049 void **closurevariable = NULL;
16050 trace.prev = tracehead; tracehead = &trace;
16051 trace.file = LOCATE_parser;
16052 variable[0] = self;
16053 variable[1] = param0;
16054 variable[3] = NIT_NULL /*null*/;
16055 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16056 variable[4] = variable[5];
16057 variable[5] = variable[4] /*nodearraylist1*/;
16058 variable[6] = TAG_Bool(( variable[5] /*teqnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*teqnode2*/, COLOR_TEq, ID_TEq)) /*cast TEq*/;
16059 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction201___action, LOCATE_parser, 9575); nit_exit(1);}
16060 variable[7] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid( variable[5] /*teqnode2*/); /*new AEqMethid*/
16061 variable[6] = variable[7];
16062 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
16063 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
16064 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
16065 return_label434: while(false);
16066 tracehead = trace.prev;
16067 return;
16068 }
16069 void parser___ReduceAction201___init(val_t self, int* init_table) {
16070 struct trace_t trace = {NULL, NULL, 9582, LOCATE_parser___ReduceAction201___init};
16071 val_t variable[2];
16072 void **closurevariable = NULL;
16073 trace.prev = tracehead; tracehead = &trace;
16074 trace.file = LOCATE_parser;
16075 variable[0] = self;
16076 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction201].i]) return;
16077 return_label435: while(false);
16078 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction201].i] = 1;
16079 tracehead = trace.prev;
16080 return;
16081 }
16082 void parser___ReduceAction202___action(val_t self, val_t param0) {
16083 struct trace_t trace = {NULL, NULL, 9586, LOCATE_parser___ReduceAction202___action};
16084 val_t variable[8];
16085 void **closurevariable = NULL;
16086 trace.prev = tracehead; tracehead = &trace;
16087 trace.file = LOCATE_parser;
16088 variable[0] = self;
16089 variable[1] = param0;
16090 variable[3] = NIT_NULL /*null*/;
16091 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16092 variable[4] = variable[5];
16093 variable[5] = variable[4] /*nodearraylist1*/;
16094 variable[6] = TAG_Bool(( variable[5] /*tnenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tnenode2*/, COLOR_TNe, ID_TNe)) /*cast TNe*/;
16095 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction202___action, LOCATE_parser, 9591); nit_exit(1);}
16096 variable[7] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid( variable[5] /*tnenode2*/); /*new ANeMethid*/
16097 variable[6] = variable[7];
16098 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
16099 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
16100 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
16101 return_label436: while(false);
16102 tracehead = trace.prev;
16103 return;
16104 }
16105 void parser___ReduceAction202___init(val_t self, int* init_table) {
16106 struct trace_t trace = {NULL, NULL, 9598, LOCATE_parser___ReduceAction202___init};
16107 val_t variable[2];
16108 void **closurevariable = NULL;
16109 trace.prev = tracehead; tracehead = &trace;
16110 trace.file = LOCATE_parser;
16111 variable[0] = self;
16112 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction202].i]) return;
16113 return_label437: while(false);
16114 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction202].i] = 1;
16115 tracehead = trace.prev;
16116 return;
16117 }
16118 void parser___ReduceAction203___action(val_t self, val_t param0) {
16119 struct trace_t trace = {NULL, NULL, 9602, LOCATE_parser___ReduceAction203___action};
16120 val_t variable[8];
16121 void **closurevariable = NULL;
16122 trace.prev = tracehead; tracehead = &trace;
16123 trace.file = LOCATE_parser;
16124 variable[0] = self;
16125 variable[1] = param0;
16126 variable[3] = NIT_NULL /*null*/;
16127 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16128 variable[4] = variable[5];
16129 variable[5] = variable[4] /*nodearraylist1*/;
16130 variable[6] = TAG_Bool(( variable[5] /*tlenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tlenode2*/, COLOR_TLe, ID_TLe)) /*cast TLe*/;
16131 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction203___action, LOCATE_parser, 9607); nit_exit(1);}
16132 variable[7] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid( variable[5] /*tlenode2*/); /*new ALeMethid*/
16133 variable[6] = variable[7];
16134 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
16135 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
16136 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
16137 return_label438: while(false);
16138 tracehead = trace.prev;
16139 return;
16140 }
16141 void parser___ReduceAction203___init(val_t self, int* init_table) {
16142 struct trace_t trace = {NULL, NULL, 9614, LOCATE_parser___ReduceAction203___init};
16143 val_t variable[2];
16144 void **closurevariable = NULL;
16145 trace.prev = tracehead; tracehead = &trace;
16146 trace.file = LOCATE_parser;
16147 variable[0] = self;
16148 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction203].i]) return;
16149 return_label439: while(false);
16150 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction203].i] = 1;
16151 tracehead = trace.prev;
16152 return;
16153 }
16154 void parser___ReduceAction204___action(val_t self, val_t param0) {
16155 struct trace_t trace = {NULL, NULL, 9618, LOCATE_parser___ReduceAction204___action};
16156 val_t variable[8];
16157 void **closurevariable = NULL;
16158 trace.prev = tracehead; tracehead = &trace;
16159 trace.file = LOCATE_parser;
16160 variable[0] = self;
16161 variable[1] = param0;
16162 variable[3] = NIT_NULL /*null*/;
16163 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16164 variable[4] = variable[5];
16165 variable[5] = variable[4] /*nodearraylist1*/;
16166 variable[6] = TAG_Bool(( variable[5] /*tgenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tgenode2*/, COLOR_TGe, ID_TGe)) /*cast TGe*/;
16167 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction204___action, LOCATE_parser, 9623); nit_exit(1);}
16168 variable[7] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid( variable[5] /*tgenode2*/); /*new AGeMethid*/
16169 variable[6] = variable[7];
16170 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
16171 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
16172 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
16173 return_label440: while(false);
16174 tracehead = trace.prev;
16175 return;
16176 }
16177 void parser___ReduceAction204___init(val_t self, int* init_table) {
16178 struct trace_t trace = {NULL, NULL, 9630, LOCATE_parser___ReduceAction204___init};
16179 val_t variable[2];
16180 void **closurevariable = NULL;
16181 trace.prev = tracehead; tracehead = &trace;
16182 trace.file = LOCATE_parser;
16183 variable[0] = self;
16184 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction204].i]) return;
16185 return_label441: while(false);
16186 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction204].i] = 1;
16187 tracehead = trace.prev;
16188 return;
16189 }
16190 void parser___ReduceAction205___action(val_t self, val_t param0) {
16191 struct trace_t trace = {NULL, NULL, 9634, LOCATE_parser___ReduceAction205___action};
16192 val_t variable[8];
16193 void **closurevariable = NULL;
16194 trace.prev = tracehead; tracehead = &trace;
16195 trace.file = LOCATE_parser;
16196 variable[0] = self;
16197 variable[1] = param0;
16198 variable[3] = NIT_NULL /*null*/;
16199 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16200 variable[4] = variable[5];
16201 variable[5] = variable[4] /*nodearraylist1*/;
16202 variable[6] = TAG_Bool(( variable[5] /*tltnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tltnode2*/, COLOR_TLt, ID_TLt)) /*cast TLt*/;
16203 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction205___action, LOCATE_parser, 9639); nit_exit(1);}
16204 variable[7] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid( variable[5] /*tltnode2*/); /*new ALtMethid*/
16205 variable[6] = variable[7];
16206 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
16207 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
16208 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
16209 return_label442: while(false);
16210 tracehead = trace.prev;
16211 return;
16212 }
16213 void parser___ReduceAction205___init(val_t self, int* init_table) {
16214 struct trace_t trace = {NULL, NULL, 9646, LOCATE_parser___ReduceAction205___init};
16215 val_t variable[2];
16216 void **closurevariable = NULL;
16217 trace.prev = tracehead; tracehead = &trace;
16218 trace.file = LOCATE_parser;
16219 variable[0] = self;
16220 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction205].i]) return;
16221 return_label443: while(false);
16222 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction205].i] = 1;
16223 tracehead = trace.prev;
16224 return;
16225 }
16226 void parser___ReduceAction206___action(val_t self, val_t param0) {
16227 struct trace_t trace = {NULL, NULL, 9650, LOCATE_parser___ReduceAction206___action};
16228 val_t variable[8];
16229 void **closurevariable = NULL;
16230 trace.prev = tracehead; tracehead = &trace;
16231 trace.file = LOCATE_parser;
16232 variable[0] = self;
16233 variable[1] = param0;
16234 variable[3] = NIT_NULL /*null*/;
16235 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16236 variable[4] = variable[5];
16237 variable[5] = variable[4] /*nodearraylist1*/;
16238 variable[6] = TAG_Bool(( variable[5] /*tgtnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tgtnode2*/, COLOR_TGt, ID_TGt)) /*cast TGt*/;
16239 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction206___action, LOCATE_parser, 9655); nit_exit(1);}
16240 variable[7] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid( variable[5] /*tgtnode2*/); /*new AGtMethid*/
16241 variable[6] = variable[7];
16242 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
16243 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
16244 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
16245 return_label444: while(false);
16246 tracehead = trace.prev;
16247 return;
16248 }
16249 void parser___ReduceAction206___init(val_t self, int* init_table) {
16250 struct trace_t trace = {NULL, NULL, 9662, LOCATE_parser___ReduceAction206___init};
16251 val_t variable[2];
16252 void **closurevariable = NULL;
16253 trace.prev = tracehead; tracehead = &trace;
16254 trace.file = LOCATE_parser;
16255 variable[0] = self;
16256 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction206].i]) return;
16257 return_label445: while(false);
16258 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction206].i] = 1;
16259 tracehead = trace.prev;
16260 return;
16261 }
16262 void parser___ReduceAction207___action(val_t self, val_t param0) {
16263 struct trace_t trace = {NULL, NULL, 9666, LOCATE_parser___ReduceAction207___action};
16264 val_t variable[10];
16265 void **closurevariable = NULL;
16266 trace.prev = tracehead; tracehead = &trace;
16267 trace.file = LOCATE_parser;
16268 variable[0] = self;
16269 variable[1] = param0;
16270 variable[3] = NIT_NULL /*null*/;
16271 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16272 variable[4] = variable[5];
16273 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16274 variable[5] = variable[6];
16275 variable[6] = variable[5] /*nodearraylist1*/;
16276 variable[7] = TAG_Bool(( variable[6] /*tobranode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tobranode2*/, COLOR_TObra, ID_TObra)) /*cast TObra*/;
16277 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction207___action, LOCATE_parser, 9672); nit_exit(1);}
16278 variable[7] = variable[4] /*nodearraylist2*/;
16279 variable[8] = TAG_Bool(( variable[7] /*tcbranode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tcbranode3*/, COLOR_TCbra, ID_TCbra)) /*cast TCbra*/;
16280 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction207___action, LOCATE_parser, 9674); nit_exit(1);}
16281 variable[9] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid( variable[6] /*tobranode2*/, variable[7] /*tcbranode3*/); /*new ABraMethid*/
16282 variable[8] = variable[9];
16283 variable[3] = variable[8] /*pmethidnode1*/ /*node_list=*/;
16284 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
16285 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
16286 return_label446: while(false);
16287 tracehead = trace.prev;
16288 return;
16289 }
16290 void parser___ReduceAction207___init(val_t self, int* init_table) {
16291 struct trace_t trace = {NULL, NULL, 9682, LOCATE_parser___ReduceAction207___init};
16292 val_t variable[2];
16293 void **closurevariable = NULL;
16294 trace.prev = tracehead; tracehead = &trace;
16295 trace.file = LOCATE_parser;
16296 variable[0] = self;
16297 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction207].i]) return;
16298 return_label447: while(false);
16299 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction207].i] = 1;
16300 tracehead = trace.prev;
16301 return;
16302 }
16303 void parser___ReduceAction208___action(val_t self, val_t param0) {
16304 struct trace_t trace = {NULL, NULL, 9686, LOCATE_parser___ReduceAction208___action};
16305 val_t variable[8];
16306 void **closurevariable = NULL;
16307 trace.prev = tracehead; tracehead = &trace;
16308 trace.file = LOCATE_parser;
16309 variable[0] = self;
16310 variable[1] = param0;
16311 variable[3] = NIT_NULL /*null*/;
16312 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16313 variable[4] = variable[5];
16314 variable[5] = variable[4] /*nodearraylist1*/;
16315 variable[6] = TAG_Bool(( variable[5] /*tstarshipnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tstarshipnode2*/, COLOR_TStarship, ID_TStarship)) /*cast TStarship*/;
16316 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction208___action, LOCATE_parser, 9691); nit_exit(1);}
16317 variable[7] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid( variable[5] /*tstarshipnode2*/); /*new AStarshipMethid*/
16318 variable[6] = variable[7];
16319 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
16320 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
16321 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
16322 return_label448: while(false);
16323 tracehead = trace.prev;
16324 return;
16325 }
16326 void parser___ReduceAction208___init(val_t self, int* init_table) {
16327 struct trace_t trace = {NULL, NULL, 9698, LOCATE_parser___ReduceAction208___init};
16328 val_t variable[2];
16329 void **closurevariable = NULL;
16330 trace.prev = tracehead; tracehead = &trace;
16331 trace.file = LOCATE_parser;
16332 variable[0] = self;
16333 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction208].i]) return;
16334 return_label449: while(false);
16335 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction208].i] = 1;
16336 tracehead = trace.prev;
16337 return;
16338 }
16339 void parser___ReduceAction209___action(val_t self, val_t param0) {
16340 struct trace_t trace = {NULL, NULL, 9702, LOCATE_parser___ReduceAction209___action};
16341 val_t variable[10];
16342 void **closurevariable = NULL;
16343 trace.prev = tracehead; tracehead = &trace;
16344 trace.file = LOCATE_parser;
16345 variable[0] = self;
16346 variable[1] = param0;
16347 variable[3] = NIT_NULL /*null*/;
16348 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16349 variable[4] = variable[5];
16350 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16351 variable[5] = variable[6];
16352 variable[6] = variable[5] /*nodearraylist1*/;
16353 variable[7] = TAG_Bool(( variable[6] /*tidnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
16354 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction209___action, LOCATE_parser, 9708); nit_exit(1);}
16355 variable[7] = variable[4] /*nodearraylist2*/;
16356 variable[8] = TAG_Bool(( variable[7] /*tassignnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tassignnode3*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
16357 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction209___action, LOCATE_parser, 9710); nit_exit(1);}
16358 variable[9] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid( variable[6] /*tidnode2*/, variable[7] /*tassignnode3*/); /*new AAssignMethid*/
16359 variable[8] = variable[9];
16360 variable[3] = variable[8] /*pmethidnode1*/ /*node_list=*/;
16361 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
16362 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
16363 return_label450: while(false);
16364 tracehead = trace.prev;
16365 return;
16366 }
16367 void parser___ReduceAction209___init(val_t self, int* init_table) {
16368 struct trace_t trace = {NULL, NULL, 9718, LOCATE_parser___ReduceAction209___init};
16369 val_t variable[2];
16370 void **closurevariable = NULL;
16371 trace.prev = tracehead; tracehead = &trace;
16372 trace.file = LOCATE_parser;
16373 variable[0] = self;
16374 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction209].i]) return;
16375 return_label451: while(false);
16376 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction209].i] = 1;
16377 tracehead = trace.prev;
16378 return;
16379 }
16380 void parser___ReduceAction210___action(val_t self, val_t param0) {
16381 struct trace_t trace = {NULL, NULL, 9722, LOCATE_parser___ReduceAction210___action};
16382 val_t variable[12];
16383 void **closurevariable = NULL;
16384 trace.prev = tracehead; tracehead = &trace;
16385 trace.file = LOCATE_parser;
16386 variable[0] = self;
16387 variable[1] = param0;
16388 variable[3] = NIT_NULL /*null*/;
16389 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16390 variable[4] = variable[5];
16391 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16392 variable[5] = variable[6];
16393 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16394 variable[6] = variable[7];
16395 variable[7] = variable[6] /*nodearraylist1*/;
16396 variable[8] = TAG_Bool(( variable[7] /*tobranode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tobranode2*/, COLOR_TObra, ID_TObra)) /*cast TObra*/;
16397 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction210___action, LOCATE_parser, 9729); nit_exit(1);}
16398 variable[8] = variable[5] /*nodearraylist2*/;
16399 variable[9] = TAG_Bool(( variable[8] /*tcbranode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tcbranode3*/, COLOR_TCbra, ID_TCbra)) /*cast TCbra*/;
16400 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction210___action, LOCATE_parser, 9731); nit_exit(1);}
16401 variable[9] = variable[4] /*nodearraylist3*/;
16402 variable[10] = TAG_Bool(( variable[9] /*tassignnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*tassignnode4*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
16403 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction210___action, LOCATE_parser, 9733); nit_exit(1);}
16404 variable[11] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid( variable[7] /*tobranode2*/, variable[8] /*tcbranode3*/, variable[9] /*tassignnode4*/); /*new ABraassignMethid*/
16405 variable[10] = variable[11];
16406 variable[3] = variable[10] /*pmethidnode1*/ /*node_list=*/;
16407 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
16408 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
16409 return_label452: while(false);
16410 tracehead = trace.prev;
16411 return;
16412 }
16413 void parser___ReduceAction210___init(val_t self, int* init_table) {
16414 struct trace_t trace = {NULL, NULL, 9742, LOCATE_parser___ReduceAction210___init};
16415 val_t variable[2];
16416 void **closurevariable = NULL;
16417 trace.prev = tracehead; tracehead = &trace;
16418 trace.file = LOCATE_parser;
16419 variable[0] = self;
16420 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction210].i]) return;
16421 return_label453: while(false);
16422 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction210].i] = 1;
16423 tracehead = trace.prev;
16424 return;
16425 }
16426 void parser___ReduceAction211___action(val_t self, val_t param0) {
16427 struct trace_t trace = {NULL, NULL, 9746, LOCATE_parser___ReduceAction211___action};
16428 val_t variable[10];
16429 void **closurevariable = NULL;
16430 trace.prev = tracehead; tracehead = &trace;
16431 trace.file = LOCATE_parser;
16432 variable[0] = self;
16433 variable[1] = param0;
16434 variable[3] = NIT_NULL /*null*/;
16435 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16436 variable[4] = variable[5];
16437 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16438 variable[5] = variable[6];
16439 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16440 variable[6] = variable[7];
16441 variable[7] = variable[4] /*nodearraylist1*/;
16442 variable[8] = TAG_Bool(( variable[7] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
16443 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction211___action, LOCATE_parser, 9753); nit_exit(1);}
16444 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*listnode4*/)( variable[7] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16445 if (UNTAG_Bool(variable[8])) { /*if*/
16446 variable[8] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
16447 if (UNTAG_Bool(variable[8])) { /*if*/
16448 variable[6] = variable[7] /*listnode4*/ /*listnode5=*/;
16449 } else { /*if*/
16450 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[7] /*listnode4*/) /*IndexedCollection::append*/;
16451 }
16452 }
16453 variable[9] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[5] /*listnode2*/, NIT_NULL /*null*/, variable[6] /*listnode5*/); /*new ASignature*/
16454 variable[8] = variable[9];
16455 variable[3] = variable[8] /*psignaturenode1*/ /*node_list=*/;
16456 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(17)) /*Parser::go_to*/;
16457 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
16458 return_label454: while(false);
16459 tracehead = trace.prev;
16460 return;
16461 }
16462 void parser___ReduceAction211___init(val_t self, int* init_table) {
16463 struct trace_t trace = {NULL, NULL, 9769, LOCATE_parser___ReduceAction211___init};
16464 val_t variable[2];
16465 void **closurevariable = NULL;
16466 trace.prev = tracehead; tracehead = &trace;
16467 trace.file = LOCATE_parser;
16468 variable[0] = self;
16469 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction211].i]) return;
16470 return_label455: while(false);
16471 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction211].i] = 1;
16472 tracehead = trace.prev;
16473 return;
16474 }
16475 void parser___ReduceAction212___action(val_t self, val_t param0) {
16476 struct trace_t trace = {NULL, NULL, 9773, LOCATE_parser___ReduceAction212___action};
16477 val_t variable[12];
16478 void **closurevariable = NULL;
16479 trace.prev = tracehead; tracehead = &trace;
16480 trace.file = LOCATE_parser;
16481 variable[0] = self;
16482 variable[1] = param0;
16483 variable[3] = NIT_NULL /*null*/;
16484 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16485 variable[4] = variable[5];
16486 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16487 variable[5] = variable[6];
16488 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16489 variable[6] = variable[7];
16490 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16491 variable[7] = variable[8];
16492 variable[8] = variable[5] /*nodearraylist1*/;
16493 variable[9] = TAG_Bool(( variable[8] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
16494 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction212___action, LOCATE_parser, 9781); nit_exit(1);}
16495 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*listnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*listnode2*/)( variable[8] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16496 if (UNTAG_Bool(variable[9])) { /*if*/
16497 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
16498 if (UNTAG_Bool(variable[9])) { /*if*/
16499 variable[6] = variable[8] /*listnode2*/ /*listnode3=*/;
16500 } else { /*if*/
16501 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*listnode2*/) /*IndexedCollection::append*/;
16502 }
16503 }
16504 variable[9] = variable[4] /*nodearraylist2*/;
16505 variable[10] = TAG_Bool(( variable[9] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
16506 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction212___action, LOCATE_parser, 9790); nit_exit(1);}
16507 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[9] /*listnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[9] /*listnode5*/)( variable[9] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16508 if (UNTAG_Bool(variable[10])) { /*if*/
16509 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode6*/)( variable[7] /*listnode6*/) /*AbstractArray::is_empty*/;
16510 if (UNTAG_Bool(variable[10])) { /*if*/
16511 variable[7] = variable[9] /*listnode5*/ /*listnode6=*/;
16512 } else { /*if*/
16513 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode6*/)( variable[7] /*listnode6*/, variable[9] /*listnode5*/) /*IndexedCollection::append*/;
16514 }
16515 }
16516 variable[11] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[6] /*listnode3*/, NIT_NULL /*null*/, variable[7] /*listnode6*/); /*new ASignature*/
16517 variable[10] = variable[11];
16518 variable[3] = variable[10] /*psignaturenode1*/ /*node_list=*/;
16519 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(17)) /*Parser::go_to*/;
16520 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
16521 return_label456: while(false);
16522 tracehead = trace.prev;
16523 return;
16524 }
16525 void parser___ReduceAction212___init(val_t self, int* init_table) {
16526 struct trace_t trace = {NULL, NULL, 9806, LOCATE_parser___ReduceAction212___init};
16527 val_t variable[2];
16528 void **closurevariable = NULL;
16529 trace.prev = tracehead; tracehead = &trace;
16530 trace.file = LOCATE_parser;
16531 variable[0] = self;
16532 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction212].i]) return;
16533 return_label457: while(false);
16534 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction212].i] = 1;
16535 tracehead = trace.prev;
16536 return;
16537 }
16538 void parser___ReduceAction213___action(val_t self, val_t param0) {
16539 struct trace_t trace = {NULL, NULL, 9810, LOCATE_parser___ReduceAction213___action};
16540 val_t variable[12];
16541 void **closurevariable = NULL;
16542 trace.prev = tracehead; tracehead = &trace;
16543 trace.file = LOCATE_parser;
16544 variable[0] = self;
16545 variable[1] = param0;
16546 variable[3] = NIT_NULL /*null*/;
16547 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16548 variable[4] = variable[5];
16549 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16550 variable[5] = variable[6];
16551 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16552 variable[6] = variable[7];
16553 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16554 variable[7] = variable[8];
16555 variable[8] = variable[5] /*nodearraylist1*/;
16556 variable[9] = TAG_Bool(( variable[8] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[8] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
16557 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction213___action, LOCATE_parser, 9818); nit_exit(1);}
16558 variable[9] = variable[4] /*nodearraylist2*/;
16559 variable[10] = TAG_Bool(( variable[9] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
16560 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction213___action, LOCATE_parser, 9820); nit_exit(1);}
16561 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[9] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16562 if (UNTAG_Bool(variable[10])) { /*if*/
16563 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
16564 if (UNTAG_Bool(variable[10])) { /*if*/
16565 variable[7] = variable[9] /*listnode4*/ /*listnode5=*/;
16566 } else { /*if*/
16567 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[9] /*listnode4*/) /*IndexedCollection::append*/;
16568 }
16569 }
16570 variable[11] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[6] /*listnode2*/, variable[8] /*ptypenode3*/, variable[7] /*listnode5*/); /*new ASignature*/
16571 variable[10] = variable[11];
16572 variable[3] = variable[10] /*psignaturenode1*/ /*node_list=*/;
16573 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(17)) /*Parser::go_to*/;
16574 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
16575 return_label458: while(false);
16576 tracehead = trace.prev;
16577 return;
16578 }
16579 void parser___ReduceAction213___init(val_t self, int* init_table) {
16580 struct trace_t trace = {NULL, NULL, 9836, LOCATE_parser___ReduceAction213___init};
16581 val_t variable[2];
16582 void **closurevariable = NULL;
16583 trace.prev = tracehead; tracehead = &trace;
16584 trace.file = LOCATE_parser;
16585 variable[0] = self;
16586 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction213].i]) return;
16587 return_label459: while(false);
16588 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction213].i] = 1;
16589 tracehead = trace.prev;
16590 return;
16591 }
16592 void parser___ReduceAction214___action(val_t self, val_t param0) {
16593 struct trace_t trace = {NULL, NULL, 9840, LOCATE_parser___ReduceAction214___action};
16594 val_t variable[14];
16595 void **closurevariable = NULL;
16596 trace.prev = tracehead; tracehead = &trace;
16597 trace.file = LOCATE_parser;
16598 variable[0] = self;
16599 variable[1] = param0;
16600 variable[3] = NIT_NULL /*null*/;
16601 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16602 variable[4] = variable[5];
16603 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16604 variable[5] = variable[6];
16605 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16606 variable[6] = variable[7];
16607 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16608 variable[7] = variable[8];
16609 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16610 variable[8] = variable[9];
16611 variable[9] = variable[6] /*nodearraylist1*/;
16612 variable[10] = TAG_Bool(( variable[9] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
16613 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction214___action, LOCATE_parser, 9849); nit_exit(1);}
16614 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[9] /*listnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[9] /*listnode2*/)( variable[9] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16615 if (UNTAG_Bool(variable[10])) { /*if*/
16616 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode3*/)( variable[7] /*listnode3*/) /*AbstractArray::is_empty*/;
16617 if (UNTAG_Bool(variable[10])) { /*if*/
16618 variable[7] = variable[9] /*listnode2*/ /*listnode3=*/;
16619 } else { /*if*/
16620 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode3*/)( variable[7] /*listnode3*/, variable[9] /*listnode2*/) /*IndexedCollection::append*/;
16621 }
16622 }
16623 variable[10] = variable[5] /*nodearraylist2*/;
16624 variable[11] = TAG_Bool(( variable[10] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[10] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
16625 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction214___action, LOCATE_parser, 9858); nit_exit(1);}
16626 variable[11] = variable[4] /*nodearraylist3*/;
16627 variable[12] = TAG_Bool(( variable[11] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
16628 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction214___action, LOCATE_parser, 9860); nit_exit(1);}
16629 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode5*/)( variable[11] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16630 if (UNTAG_Bool(variable[12])) { /*if*/
16631 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode6*/)( variable[8] /*listnode6*/) /*AbstractArray::is_empty*/;
16632 if (UNTAG_Bool(variable[12])) { /*if*/
16633 variable[8] = variable[11] /*listnode5*/ /*listnode6=*/;
16634 } else { /*if*/
16635 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[11] /*listnode5*/) /*IndexedCollection::append*/;
16636 }
16637 }
16638 variable[13] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[7] /*listnode3*/, variable[10] /*ptypenode4*/, variable[8] /*listnode6*/); /*new ASignature*/
16639 variable[12] = variable[13];
16640 variable[3] = variable[12] /*psignaturenode1*/ /*node_list=*/;
16641 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(17)) /*Parser::go_to*/;
16642 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
16643 return_label460: while(false);
16644 tracehead = trace.prev;
16645 return;
16646 }
16647 void parser___ReduceAction214___init(val_t self, int* init_table) {
16648 struct trace_t trace = {NULL, NULL, 9876, LOCATE_parser___ReduceAction214___init};
16649 val_t variable[2];
16650 void **closurevariable = NULL;
16651 trace.prev = tracehead; tracehead = &trace;
16652 trace.file = LOCATE_parser;
16653 variable[0] = self;
16654 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction214].i]) return;
16655 return_label461: while(false);
16656 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction214].i] = 1;
16657 tracehead = trace.prev;
16658 return;
16659 }
16660 void parser___ReduceAction215___action(val_t self, val_t param0) {
16661 struct trace_t trace = {NULL, NULL, 9880, LOCATE_parser___ReduceAction215___action};
16662 val_t variable[9];
16663 void **closurevariable = NULL;
16664 trace.prev = tracehead; tracehead = &trace;
16665 trace.file = LOCATE_parser;
16666 variable[0] = self;
16667 variable[1] = param0;
16668 variable[3] = NIT_NULL /*null*/;
16669 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16670 variable[4] = variable[5];
16671 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16672 variable[5] = variable[6];
16673 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16674 variable[6] = variable[7];
16675 variable[8] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[5] /*listnode2*/, NIT_NULL /*null*/, variable[6] /*listnode4*/); /*new ASignature*/
16676 variable[7] = variable[8];
16677 variable[3] = variable[7] /*psignaturenode1*/ /*node_list=*/;
16678 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(17)) /*Parser::go_to*/;
16679 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
16680 return_label462: while(false);
16681 tracehead = trace.prev;
16682 return;
16683 }
16684 void parser___ReduceAction215___init(val_t self, int* init_table) {
16685 struct trace_t trace = {NULL, NULL, 9894, LOCATE_parser___ReduceAction215___init};
16686 val_t variable[2];
16687 void **closurevariable = NULL;
16688 trace.prev = tracehead; tracehead = &trace;
16689 trace.file = LOCATE_parser;
16690 variable[0] = self;
16691 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction215].i]) return;
16692 return_label463: while(false);
16693 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction215].i] = 1;
16694 tracehead = trace.prev;
16695 return;
16696 }
16697 void parser___ReduceAction216___action(val_t self, val_t param0) {
16698 struct trace_t trace = {NULL, NULL, 9898, LOCATE_parser___ReduceAction216___action};
16699 val_t variable[11];
16700 void **closurevariable = NULL;
16701 trace.prev = tracehead; tracehead = &trace;
16702 trace.file = LOCATE_parser;
16703 variable[0] = self;
16704 variable[1] = param0;
16705 variable[3] = NIT_NULL /*null*/;
16706 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16707 variable[4] = variable[5];
16708 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16709 variable[5] = variable[6];
16710 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16711 variable[6] = variable[7];
16712 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16713 variable[7] = variable[8];
16714 variable[8] = variable[5] /*nodearraylist1*/;
16715 variable[9] = TAG_Bool(( variable[8] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
16716 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction216___action, LOCATE_parser, 9906); nit_exit(1);}
16717 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*listnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*listnode2*/)( variable[8] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16718 if (UNTAG_Bool(variable[9])) { /*if*/
16719 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
16720 if (UNTAG_Bool(variable[9])) { /*if*/
16721 variable[6] = variable[8] /*listnode2*/ /*listnode3=*/;
16722 } else { /*if*/
16723 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*listnode2*/) /*IndexedCollection::append*/;
16724 }
16725 }
16726 variable[10] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[6] /*listnode3*/, NIT_NULL /*null*/, variable[7] /*listnode5*/); /*new ASignature*/
16727 variable[9] = variable[10];
16728 variable[3] = variable[9] /*psignaturenode1*/ /*node_list=*/;
16729 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(17)) /*Parser::go_to*/;
16730 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
16731 return_label464: while(false);
16732 tracehead = trace.prev;
16733 return;
16734 }
16735 void parser___ReduceAction216___init(val_t self, int* init_table) {
16736 struct trace_t trace = {NULL, NULL, 9922, LOCATE_parser___ReduceAction216___init};
16737 val_t variable[2];
16738 void **closurevariable = NULL;
16739 trace.prev = tracehead; tracehead = &trace;
16740 trace.file = LOCATE_parser;
16741 variable[0] = self;
16742 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction216].i]) return;
16743 return_label465: while(false);
16744 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction216].i] = 1;
16745 tracehead = trace.prev;
16746 return;
16747 }
16748 void parser___ReduceAction217___action(val_t self, val_t param0) {
16749 struct trace_t trace = {NULL, NULL, 9926, LOCATE_parser___ReduceAction217___action};
16750 val_t variable[11];
16751 void **closurevariable = NULL;
16752 trace.prev = tracehead; tracehead = &trace;
16753 trace.file = LOCATE_parser;
16754 variable[0] = self;
16755 variable[1] = param0;
16756 variable[3] = NIT_NULL /*null*/;
16757 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16758 variable[4] = variable[5];
16759 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16760 variable[5] = variable[6];
16761 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16762 variable[6] = variable[7];
16763 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16764 variable[7] = variable[8];
16765 variable[8] = variable[5] /*nodearraylist1*/;
16766 variable[9] = TAG_Bool(( variable[8] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[8] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
16767 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction217___action, LOCATE_parser, 9934); nit_exit(1);}
16768 variable[10] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[6] /*listnode2*/, variable[8] /*ptypenode3*/, variable[7] /*listnode4*/); /*new ASignature*/
16769 variable[9] = variable[10];
16770 variable[3] = variable[9] /*psignaturenode1*/ /*node_list=*/;
16771 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(17)) /*Parser::go_to*/;
16772 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
16773 return_label466: while(false);
16774 tracehead = trace.prev;
16775 return;
16776 }
16777 void parser___ReduceAction217___init(val_t self, int* init_table) {
16778 struct trace_t trace = {NULL, NULL, 9943, LOCATE_parser___ReduceAction217___init};
16779 val_t variable[2];
16780 void **closurevariable = NULL;
16781 trace.prev = tracehead; tracehead = &trace;
16782 trace.file = LOCATE_parser;
16783 variable[0] = self;
16784 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction217].i]) return;
16785 return_label467: while(false);
16786 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction217].i] = 1;
16787 tracehead = trace.prev;
16788 return;
16789 }
16790 void parser___ReduceAction218___action(val_t self, val_t param0) {
16791 struct trace_t trace = {NULL, NULL, 9947, LOCATE_parser___ReduceAction218___action};
16792 val_t variable[13];
16793 void **closurevariable = NULL;
16794 trace.prev = tracehead; tracehead = &trace;
16795 trace.file = LOCATE_parser;
16796 variable[0] = self;
16797 variable[1] = param0;
16798 variable[3] = NIT_NULL /*null*/;
16799 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16800 variable[4] = variable[5];
16801 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16802 variable[5] = variable[6];
16803 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16804 variable[6] = variable[7];
16805 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16806 variable[7] = variable[8];
16807 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16808 variable[8] = variable[9];
16809 variable[9] = variable[6] /*nodearraylist1*/;
16810 variable[10] = TAG_Bool(( variable[9] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
16811 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction218___action, LOCATE_parser, 9956); nit_exit(1);}
16812 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[9] /*listnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[9] /*listnode2*/)( variable[9] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16813 if (UNTAG_Bool(variable[10])) { /*if*/
16814 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode3*/)( variable[7] /*listnode3*/) /*AbstractArray::is_empty*/;
16815 if (UNTAG_Bool(variable[10])) { /*if*/
16816 variable[7] = variable[9] /*listnode2*/ /*listnode3=*/;
16817 } else { /*if*/
16818 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode3*/)( variable[7] /*listnode3*/, variable[9] /*listnode2*/) /*IndexedCollection::append*/;
16819 }
16820 }
16821 variable[10] = variable[5] /*nodearraylist2*/;
16822 variable[11] = TAG_Bool(( variable[10] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[10] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
16823 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction218___action, LOCATE_parser, 9965); nit_exit(1);}
16824 variable[12] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[7] /*listnode3*/, variable[10] /*ptypenode4*/, variable[8] /*listnode5*/); /*new ASignature*/
16825 variable[11] = variable[12];
16826 variable[3] = variable[11] /*psignaturenode1*/ /*node_list=*/;
16827 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(17)) /*Parser::go_to*/;
16828 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
16829 return_label468: while(false);
16830 tracehead = trace.prev;
16831 return;
16832 }
16833 void parser___ReduceAction218___init(val_t self, int* init_table) {
16834 struct trace_t trace = {NULL, NULL, 9974, LOCATE_parser___ReduceAction218___init};
16835 val_t variable[2];
16836 void **closurevariable = NULL;
16837 trace.prev = tracehead; tracehead = &trace;
16838 trace.file = LOCATE_parser;
16839 variable[0] = self;
16840 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction218].i]) return;
16841 return_label469: while(false);
16842 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction218].i] = 1;
16843 tracehead = trace.prev;
16844 return;
16845 }
16846 void parser___ReduceAction219___action(val_t self, val_t param0) {
16847 struct trace_t trace = {NULL, NULL, 9978, LOCATE_parser___ReduceAction219___action};
16848 val_t variable[8];
16849 void **closurevariable = NULL;
16850 trace.prev = tracehead; tracehead = &trace;
16851 trace.file = LOCATE_parser;
16852 variable[0] = self;
16853 variable[1] = param0;
16854 variable[3] = NIT_NULL /*null*/;
16855 variable[5] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16856 variable[4] = variable[5];
16857 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16858 variable[5] = variable[6];
16859 variable[7] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[4] /*listnode2*/, NIT_NULL /*null*/, variable[5] /*listnode4*/); /*new ASignature*/
16860 variable[6] = variable[7];
16861 variable[3] = variable[6] /*psignaturenode1*/ /*node_list=*/;
16862 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(18)) /*Parser::go_to*/;
16863 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
16864 return_label470: while(false);
16865 tracehead = trace.prev;
16866 return;
16867 }
16868 void parser___ReduceAction219___init(val_t self, int* init_table) {
16869 struct trace_t trace = {NULL, NULL, 9991, LOCATE_parser___ReduceAction219___init};
16870 val_t variable[2];
16871 void **closurevariable = NULL;
16872 trace.prev = tracehead; tracehead = &trace;
16873 trace.file = LOCATE_parser;
16874 variable[0] = self;
16875 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction219].i]) return;
16876 return_label471: while(false);
16877 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction219].i] = 1;
16878 tracehead = trace.prev;
16879 return;
16880 }
16881 void parser___ReduceAction220___action(val_t self, val_t param0) {
16882 struct trace_t trace = {NULL, NULL, 9995, LOCATE_parser___ReduceAction220___action};
16883 val_t variable[10];
16884 void **closurevariable = NULL;
16885 trace.prev = tracehead; tracehead = &trace;
16886 trace.file = LOCATE_parser;
16887 variable[0] = self;
16888 variable[1] = param0;
16889 variable[3] = NIT_NULL /*null*/;
16890 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16891 variable[4] = variable[5];
16892 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16893 variable[5] = variable[6];
16894 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16895 variable[6] = variable[7];
16896 variable[7] = variable[4] /*nodearraylist1*/;
16897 variable[8] = TAG_Bool(( variable[7] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
16898 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction220___action, LOCATE_parser, 10002); nit_exit(1);}
16899 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*listnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*listnode2*/)( variable[7] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16900 if (UNTAG_Bool(variable[8])) { /*if*/
16901 variable[8] = CALL_abstract_collection___Collection___is_empty( variable[5] /*listnode3*/)( variable[5] /*listnode3*/) /*AbstractArray::is_empty*/;
16902 if (UNTAG_Bool(variable[8])) { /*if*/
16903 variable[5] = variable[7] /*listnode2*/ /*listnode3=*/;
16904 } else { /*if*/
16905 CALL_abstract_collection___IndexedCollection___append( variable[5] /*listnode3*/)( variable[5] /*listnode3*/, variable[7] /*listnode2*/) /*IndexedCollection::append*/;
16906 }
16907 }
16908 variable[9] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[5] /*listnode3*/, NIT_NULL /*null*/, variable[6] /*listnode5*/); /*new ASignature*/
16909 variable[8] = variable[9];
16910 variable[3] = variable[8] /*psignaturenode1*/ /*node_list=*/;
16911 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(18)) /*Parser::go_to*/;
16912 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
16913 return_label472: while(false);
16914 tracehead = trace.prev;
16915 return;
16916 }
16917 void parser___ReduceAction220___init(val_t self, int* init_table) {
16918 struct trace_t trace = {NULL, NULL, 10018, LOCATE_parser___ReduceAction220___init};
16919 val_t variable[2];
16920 void **closurevariable = NULL;
16921 trace.prev = tracehead; tracehead = &trace;
16922 trace.file = LOCATE_parser;
16923 variable[0] = self;
16924 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction220].i]) return;
16925 return_label473: while(false);
16926 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction220].i] = 1;
16927 tracehead = trace.prev;
16928 return;
16929 }
16930 void parser___ReduceAction221___action(val_t self, val_t param0) {
16931 struct trace_t trace = {NULL, NULL, 10022, LOCATE_parser___ReduceAction221___action};
16932 val_t variable[10];
16933 void **closurevariable = NULL;
16934 trace.prev = tracehead; tracehead = &trace;
16935 trace.file = LOCATE_parser;
16936 variable[0] = self;
16937 variable[1] = param0;
16938 variable[3] = NIT_NULL /*null*/;
16939 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16940 variable[4] = variable[5];
16941 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16942 variable[5] = variable[6];
16943 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16944 variable[6] = variable[7];
16945 variable[7] = variable[4] /*nodearraylist1*/;
16946 variable[8] = TAG_Bool(( variable[7] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[7] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
16947 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction221___action, LOCATE_parser, 10029); nit_exit(1);}
16948 variable[9] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[5] /*listnode2*/, variable[7] /*ptypenode3*/, variable[6] /*listnode4*/); /*new ASignature*/
16949 variable[8] = variable[9];
16950 variable[3] = variable[8] /*psignaturenode1*/ /*node_list=*/;
16951 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(18)) /*Parser::go_to*/;
16952 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
16953 return_label474: while(false);
16954 tracehead = trace.prev;
16955 return;
16956 }
16957 void parser___ReduceAction221___init(val_t self, int* init_table) {
16958 struct trace_t trace = {NULL, NULL, 10038, LOCATE_parser___ReduceAction221___init};
16959 val_t variable[2];
16960 void **closurevariable = NULL;
16961 trace.prev = tracehead; tracehead = &trace;
16962 trace.file = LOCATE_parser;
16963 variable[0] = self;
16964 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction221].i]) return;
16965 return_label475: while(false);
16966 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction221].i] = 1;
16967 tracehead = trace.prev;
16968 return;
16969 }
16970 void parser___ReduceAction222___action(val_t self, val_t param0) {
16971 struct trace_t trace = {NULL, NULL, 10042, LOCATE_parser___ReduceAction222___action};
16972 val_t variable[12];
16973 void **closurevariable = NULL;
16974 trace.prev = tracehead; tracehead = &trace;
16975 trace.file = LOCATE_parser;
16976 variable[0] = self;
16977 variable[1] = param0;
16978 variable[3] = NIT_NULL /*null*/;
16979 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16980 variable[4] = variable[5];
16981 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16982 variable[5] = variable[6];
16983 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16984 variable[6] = variable[7];
16985 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16986 variable[7] = variable[8];
16987 variable[8] = variable[5] /*nodearraylist1*/;
16988 variable[9] = TAG_Bool(( variable[8] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
16989 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction222___action, LOCATE_parser, 10050); nit_exit(1);}
16990 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*listnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*listnode2*/)( variable[8] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16991 if (UNTAG_Bool(variable[9])) { /*if*/
16992 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
16993 if (UNTAG_Bool(variable[9])) { /*if*/
16994 variable[6] = variable[8] /*listnode2*/ /*listnode3=*/;
16995 } else { /*if*/
16996 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*listnode2*/) /*IndexedCollection::append*/;
16997 }
16998 }
16999 variable[9] = variable[4] /*nodearraylist2*/;
17000 variable[10] = TAG_Bool(( variable[9] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[9] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
17001 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction222___action, LOCATE_parser, 10059); nit_exit(1);}
17002 variable[11] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[6] /*listnode3*/, variable[9] /*ptypenode4*/, variable[7] /*listnode5*/); /*new ASignature*/
17003 variable[10] = variable[11];
17004 variable[3] = variable[10] /*psignaturenode1*/ /*node_list=*/;
17005 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(18)) /*Parser::go_to*/;
17006 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
17007 return_label476: while(false);
17008 tracehead = trace.prev;
17009 return;
17010 }
17011 void parser___ReduceAction222___init(val_t self, int* init_table) {
17012 struct trace_t trace = {NULL, NULL, 10068, LOCATE_parser___ReduceAction222___init};
17013 val_t variable[2];
17014 void **closurevariable = NULL;
17015 trace.prev = tracehead; tracehead = &trace;
17016 trace.file = LOCATE_parser;
17017 variable[0] = self;
17018 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction222].i]) return;
17019 return_label477: while(false);
17020 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction222].i] = 1;
17021 tracehead = trace.prev;
17022 return;
17023 }
17024 void parser___ReduceAction223___action(val_t self, val_t param0) {
17025 struct trace_t trace = {NULL, NULL, 10072, LOCATE_parser___ReduceAction223___action};
17026 val_t variable[12];
17027 void **closurevariable = NULL;
17028 trace.prev = tracehead; tracehead = &trace;
17029 trace.file = LOCATE_parser;
17030 variable[0] = self;
17031 variable[1] = param0;
17032 variable[3] = NIT_NULL /*null*/;
17033 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17034 variable[4] = variable[5];
17035 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17036 variable[5] = variable[6];
17037 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17038 variable[6] = variable[7];
17039 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17040 variable[7] = variable[8];
17041 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17042 variable[8] = variable[9];
17043 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17044 variable[9] = variable[10];
17045 variable[10] = variable[6] /*nodearraylist3*/;
17046 variable[11] = TAG_Bool(( variable[10] /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable[10] /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
17047 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction223___action, LOCATE_parser, 10082); nit_exit(1);}
17048 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*pparamnode1*/ == NIT_NULL /*null*/) || (( variable[10] /*pparamnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*pparamnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*pparamnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*pparamnode1*/)( variable[10] /*pparamnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17049 if (UNTAG_Bool(variable[11])) { /*if*/
17050 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode2*/)( variable[9] /*listnode2*/, variable[10] /*pparamnode1*/) /*AbstractArray::add*/;
17051 }
17052 variable[3] = variable[9] /*listnode2*/ /*node_list=*/;
17053 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(19)) /*Parser::go_to*/;
17054 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
17055 return_label478: while(false);
17056 tracehead = trace.prev;
17057 return;
17058 }
17059 void parser___ReduceAction223___init(val_t self, int* init_table) {
17060 struct trace_t trace = {NULL, NULL, 10089, LOCATE_parser___ReduceAction223___init};
17061 val_t variable[2];
17062 void **closurevariable = NULL;
17063 trace.prev = tracehead; tracehead = &trace;
17064 trace.file = LOCATE_parser;
17065 variable[0] = self;
17066 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction223].i]) return;
17067 return_label479: while(false);
17068 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction223].i] = 1;
17069 tracehead = trace.prev;
17070 return;
17071 }
17072 void parser___ReduceAction224___action(val_t self, val_t param0) {
17073 struct trace_t trace = {NULL, NULL, 10093, LOCATE_parser___ReduceAction224___action};
17074 val_t variable[14];
17075 void **closurevariable = NULL;
17076 trace.prev = tracehead; tracehead = &trace;
17077 trace.file = LOCATE_parser;
17078 variable[0] = self;
17079 variable[1] = param0;
17080 variable[3] = NIT_NULL /*null*/;
17081 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17082 variable[4] = variable[5];
17083 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17084 variable[5] = variable[6];
17085 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17086 variable[6] = variable[7];
17087 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17088 variable[7] = variable[8];
17089 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17090 variable[8] = variable[9];
17091 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17092 variable[9] = variable[10];
17093 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17094 variable[10] = variable[11];
17095 variable[11] = variable[7] /*nodearraylist3*/;
17096 variable[12] = TAG_Bool(( variable[11] /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable[11] /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
17097 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction224___action, LOCATE_parser, 10104); nit_exit(1);}
17098 variable[12] = variable[6] /*nodearraylist4*/;
17099 variable[13] = TAG_Bool(( variable[12] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
17100 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction224___action, LOCATE_parser, 10106); nit_exit(1);}
17101 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*pparamnode1*/ == NIT_NULL /*null*/) || (( variable[11] /*pparamnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*pparamnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*pparamnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*pparamnode1*/)( variable[11] /*pparamnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17102 if (UNTAG_Bool(variable[13])) { /*if*/
17103 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, variable[11] /*pparamnode1*/) /*AbstractArray::add*/;
17104 }
17105 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode2*/)( variable[12] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17106 if (UNTAG_Bool(variable[13])) { /*if*/
17107 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode3*/)( variable[10] /*listnode3*/) /*AbstractArray::is_empty*/;
17108 if (UNTAG_Bool(variable[13])) { /*if*/
17109 variable[10] = variable[12] /*listnode2*/ /*listnode3=*/;
17110 } else { /*if*/
17111 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, variable[12] /*listnode2*/) /*IndexedCollection::append*/;
17112 }
17113 }
17114 variable[3] = variable[10] /*listnode3*/ /*node_list=*/;
17115 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(19)) /*Parser::go_to*/;
17116 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
17117 return_label480: while(false);
17118 tracehead = trace.prev;
17119 return;
17120 }
17121 void parser___ReduceAction224___init(val_t self, int* init_table) {
17122 struct trace_t trace = {NULL, NULL, 10120, LOCATE_parser___ReduceAction224___init};
17123 val_t variable[2];
17124 void **closurevariable = NULL;
17125 trace.prev = tracehead; tracehead = &trace;
17126 trace.file = LOCATE_parser;
17127 variable[0] = self;
17128 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction224].i]) return;
17129 return_label481: while(false);
17130 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction224].i] = 1;
17131 tracehead = trace.prev;
17132 return;
17133 }
17134 void parser___ReduceAction225___action(val_t self, val_t param0) {
17135 struct trace_t trace = {NULL, NULL, 10124, LOCATE_parser___ReduceAction225___action};
17136 val_t variable[9];
17137 void **closurevariable = NULL;
17138 trace.prev = tracehead; tracehead = &trace;
17139 trace.file = LOCATE_parser;
17140 variable[0] = self;
17141 variable[1] = param0;
17142 variable[3] = NIT_NULL /*null*/;
17143 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17144 variable[4] = variable[5];
17145 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17146 variable[5] = variable[6];
17147 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17148 variable[6] = variable[7];
17149 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17150 variable[7] = variable[8];
17151 variable[3] = variable[7] /*listnode1*/ /*node_list=*/;
17152 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(19)) /*Parser::go_to*/;
17153 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
17154 return_label482: while(false);
17155 tracehead = trace.prev;
17156 return;
17157 }
17158 void parser___ReduceAction225___init(val_t self, int* init_table) {
17159 struct trace_t trace = {NULL, NULL, 10134, LOCATE_parser___ReduceAction225___init};
17160 val_t variable[2];
17161 void **closurevariable = NULL;
17162 trace.prev = tracehead; tracehead = &trace;
17163 trace.file = LOCATE_parser;
17164 variable[0] = self;
17165 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction225].i]) return;
17166 return_label483: while(false);
17167 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction225].i] = 1;
17168 tracehead = trace.prev;
17169 return;
17170 }
17171 void parser___ReduceAction226___action(val_t self, val_t param0) {
17172 struct trace_t trace = {NULL, NULL, 10138, LOCATE_parser___ReduceAction226___action};
17173 val_t variable[9];
17174 void **closurevariable = NULL;
17175 trace.prev = tracehead; tracehead = &trace;
17176 trace.file = LOCATE_parser;
17177 variable[0] = self;
17178 variable[1] = param0;
17179 variable[3] = NIT_NULL /*null*/;
17180 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17181 variable[4] = variable[5];
17182 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17183 variable[5] = variable[6];
17184 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17185 variable[6] = variable[7];
17186 variable[7] = variable[4] /*nodearraylist3*/;
17187 variable[8] = TAG_Bool(( variable[7] /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
17188 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction226___action, LOCATE_parser, 10145); nit_exit(1);}
17189 variable[3] = variable[7] /*pparamnode1*/ /*node_list=*/;
17190 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(20)) /*Parser::go_to*/;
17191 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
17192 return_label484: while(false);
17193 tracehead = trace.prev;
17194 return;
17195 }
17196 void parser___ReduceAction226___init(val_t self, int* init_table) {
17197 struct trace_t trace = {NULL, NULL, 10149, LOCATE_parser___ReduceAction226___init};
17198 val_t variable[2];
17199 void **closurevariable = NULL;
17200 trace.prev = tracehead; tracehead = &trace;
17201 trace.file = LOCATE_parser;
17202 variable[0] = self;
17203 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction226].i]) return;
17204 return_label485: while(false);
17205 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction226].i] = 1;
17206 tracehead = trace.prev;
17207 return;
17208 }
17209 void parser___ReduceAction227___action(val_t self, val_t param0) {
17210 struct trace_t trace = {NULL, NULL, 10153, LOCATE_parser___ReduceAction227___action};
17211 val_t variable[8];
17212 void **closurevariable = NULL;
17213 trace.prev = tracehead; tracehead = &trace;
17214 trace.file = LOCATE_parser;
17215 variable[0] = self;
17216 variable[1] = param0;
17217 variable[3] = NIT_NULL /*null*/;
17218 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17219 variable[4] = variable[5];
17220 variable[5] = variable[4] /*nodearraylist1*/;
17221 variable[6] = TAG_Bool(( variable[5] /*tidnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
17222 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction227___action, LOCATE_parser, 10158); nit_exit(1);}
17223 variable[7] = NEW_AParam_parser_prod___AParam___init_aparam( variable[5] /*tidnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AParam*/
17224 variable[6] = variable[7];
17225 variable[3] = variable[6] /*pparamnode1*/ /*node_list=*/;
17226 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(21)) /*Parser::go_to*/;
17227 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
17228 return_label486: while(false);
17229 tracehead = trace.prev;
17230 return;
17231 }
17232 void parser___ReduceAction227___init(val_t self, int* init_table) {
17233 struct trace_t trace = {NULL, NULL, 10167, LOCATE_parser___ReduceAction227___init};
17234 val_t variable[2];
17235 void **closurevariable = NULL;
17236 trace.prev = tracehead; tracehead = &trace;
17237 trace.file = LOCATE_parser;
17238 variable[0] = self;
17239 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction227].i]) return;
17240 return_label487: while(false);
17241 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction227].i] = 1;
17242 tracehead = trace.prev;
17243 return;
17244 }
17245 void parser___ReduceAction228___action(val_t self, val_t param0) {
17246 struct trace_t trace = {NULL, NULL, 10171, LOCATE_parser___ReduceAction228___action};
17247 val_t variable[10];
17248 void **closurevariable = NULL;
17249 trace.prev = tracehead; tracehead = &trace;
17250 trace.file = LOCATE_parser;
17251 variable[0] = self;
17252 variable[1] = param0;
17253 variable[3] = NIT_NULL /*null*/;
17254 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17255 variable[4] = variable[5];
17256 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17257 variable[5] = variable[6];
17258 variable[6] = variable[5] /*nodearraylist1*/;
17259 variable[7] = TAG_Bool(( variable[6] /*tidnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
17260 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction228___action, LOCATE_parser, 10177); nit_exit(1);}
17261 variable[7] = variable[4] /*nodearraylist2*/;
17262 variable[8] = TAG_Bool(( variable[7] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[7] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
17263 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction228___action, LOCATE_parser, 10179); nit_exit(1);}
17264 variable[9] = NEW_AParam_parser_prod___AParam___init_aparam( variable[6] /*tidnode2*/, variable[7] /*ptypenode3*/, NIT_NULL /*null*/); /*new AParam*/
17265 variable[8] = variable[9];
17266 variable[3] = variable[8] /*pparamnode1*/ /*node_list=*/;
17267 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(21)) /*Parser::go_to*/;
17268 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
17269 return_label488: while(false);
17270 tracehead = trace.prev;
17271 return;
17272 }
17273 void parser___ReduceAction228___init(val_t self, int* init_table) {
17274 struct trace_t trace = {NULL, NULL, 10188, LOCATE_parser___ReduceAction228___init};
17275 val_t variable[2];
17276 void **closurevariable = NULL;
17277 trace.prev = tracehead; tracehead = &trace;
17278 trace.file = LOCATE_parser;
17279 variable[0] = self;
17280 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction228].i]) return;
17281 return_label489: while(false);
17282 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction228].i] = 1;
17283 tracehead = trace.prev;
17284 return;
17285 }
17286 void parser___ReduceAction229___action(val_t self, val_t param0) {
17287 struct trace_t trace = {NULL, NULL, 10192, LOCATE_parser___ReduceAction229___action};
17288 val_t variable[12];
17289 void **closurevariable = NULL;
17290 trace.prev = tracehead; tracehead = &trace;
17291 trace.file = LOCATE_parser;
17292 variable[0] = self;
17293 variable[1] = param0;
17294 variable[3] = NIT_NULL /*null*/;
17295 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17296 variable[4] = variable[5];
17297 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17298 variable[5] = variable[6];
17299 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17300 variable[6] = variable[7];
17301 variable[7] = variable[6] /*nodearraylist1*/;
17302 variable[8] = TAG_Bool(( variable[7] /*tidnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
17303 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction229___action, LOCATE_parser, 10199); nit_exit(1);}
17304 variable[8] = variable[5] /*nodearraylist2*/;
17305 variable[9] = TAG_Bool(( variable[8] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[8] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
17306 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction229___action, LOCATE_parser, 10201); nit_exit(1);}
17307 variable[9] = variable[4] /*nodearraylist3*/;
17308 variable[10] = TAG_Bool(( variable[9] /*tdotdotdotnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*tdotdotdotnode4*/, COLOR_TDotdotdot, ID_TDotdotdot)) /*cast TDotdotdot*/;
17309 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction229___action, LOCATE_parser, 10203); nit_exit(1);}
17310 variable[11] = NEW_AParam_parser_prod___AParam___init_aparam( variable[7] /*tidnode2*/, variable[8] /*ptypenode3*/, variable[9] /*tdotdotdotnode4*/); /*new AParam*/
17311 variable[10] = variable[11];
17312 variable[3] = variable[10] /*pparamnode1*/ /*node_list=*/;
17313 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(21)) /*Parser::go_to*/;
17314 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
17315 return_label490: while(false);
17316 tracehead = trace.prev;
17317 return;
17318 }
17319 void parser___ReduceAction229___init(val_t self, int* init_table) {
17320 struct trace_t trace = {NULL, NULL, 10212, LOCATE_parser___ReduceAction229___init};
17321 val_t variable[2];
17322 void **closurevariable = NULL;
17323 trace.prev = tracehead; tracehead = &trace;
17324 trace.file = LOCATE_parser;
17325 variable[0] = self;
17326 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction229].i]) return;
17327 return_label491: while(false);
17328 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction229].i] = 1;
17329 tracehead = trace.prev;
17330 return;
17331 }
17332 void parser___ReduceAction230___action(val_t self, val_t param0) {
17333 struct trace_t trace = {NULL, NULL, 10216, LOCATE_parser___ReduceAction230___action};
17334 val_t variable[9];
17335 void **closurevariable = NULL;
17336 trace.prev = tracehead; tracehead = &trace;
17337 trace.file = LOCATE_parser;
17338 variable[0] = self;
17339 variable[1] = param0;
17340 variable[3] = NIT_NULL /*null*/;
17341 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17342 variable[4] = variable[5];
17343 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17344 variable[5] = variable[6];
17345 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17346 variable[6] = variable[7];
17347 variable[7] = variable[4] /*nodearraylist2*/;
17348 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
17349 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction230___action, LOCATE_parser, 10223); nit_exit(1);}
17350 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17351 if (UNTAG_Bool(variable[8])) { /*if*/
17352 variable[8] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode2*/)( variable[6] /*listnode2*/) /*AbstractArray::is_empty*/;
17353 if (UNTAG_Bool(variable[8])) { /*if*/
17354 variable[6] = variable[7] /*listnode1*/ /*listnode2=*/;
17355 } else { /*if*/
17356 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode2*/)( variable[6] /*listnode2*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
17357 }
17358 }
17359 variable[3] = variable[6] /*listnode2*/ /*node_list=*/;
17360 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(22)) /*Parser::go_to*/;
17361 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
17362 return_label492: while(false);
17363 tracehead = trace.prev;
17364 return;
17365 }
17366 void parser___ReduceAction230___init(val_t self, int* init_table) {
17367 struct trace_t trace = {NULL, NULL, 10234, LOCATE_parser___ReduceAction230___init};
17368 val_t variable[2];
17369 void **closurevariable = NULL;
17370 trace.prev = tracehead; tracehead = &trace;
17371 trace.file = LOCATE_parser;
17372 variable[0] = self;
17373 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction230].i]) return;
17374 return_label493: while(false);
17375 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction230].i] = 1;
17376 tracehead = trace.prev;
17377 return;
17378 }
17379 void parser___ReduceAction231___action(val_t self, val_t param0) {
17380 struct trace_t trace = {NULL, NULL, 10238, LOCATE_parser___ReduceAction231___action};
17381 val_t variable[14];
17382 void **closurevariable = NULL;
17383 trace.prev = tracehead; tracehead = &trace;
17384 trace.file = LOCATE_parser;
17385 variable[0] = self;
17386 variable[1] = param0;
17387 variable[3] = NIT_NULL /*null*/;
17388 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17389 variable[4] = variable[5];
17390 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17391 variable[5] = variable[6];
17392 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17393 variable[6] = variable[7];
17394 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17395 variable[7] = variable[8];
17396 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17397 variable[8] = variable[9];
17398 variable[9] = variable[8] /*nodearraylist1*/;
17399 variable[10] = TAG_Bool(( variable[9] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
17400 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction231___action, LOCATE_parser, 10247); nit_exit(1);}
17401 variable[10] = variable[6] /*nodearraylist3*/;
17402 variable[11] = TAG_Bool(( variable[10] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
17403 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction231___action, LOCATE_parser, 10249); nit_exit(1);}
17404 variable[11] = variable[5] /*nodearraylist4*/;
17405 variable[12] = TAG_Bool(( variable[11] /*psignaturenode5*/==NIT_NULL) || VAL_ISA( variable[11] /*psignaturenode5*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
17406 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction231___action, LOCATE_parser, 10251); nit_exit(1);}
17407 variable[13] = NEW_AClosureDecl_parser_prod___AClosureDecl___init_aclosuredecl( variable[9] /*tkwwithnode2*/, NIT_NULL /*null*/, variable[10] /*tidnode4*/, variable[11] /*psignaturenode5*/, NIT_NULL /*null*/); /*new AClosureDecl*/
17408 variable[12] = variable[13];
17409 variable[3] = variable[12] /*pclosuredeclnode1*/ /*node_list=*/;
17410 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(23)) /*Parser::go_to*/;
17411 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
17412 return_label494: while(false);
17413 tracehead = trace.prev;
17414 return;
17415 }
17416 void parser___ReduceAction231___init(val_t self, int* init_table) {
17417 struct trace_t trace = {NULL, NULL, 10262, LOCATE_parser___ReduceAction231___init};
17418 val_t variable[2];
17419 void **closurevariable = NULL;
17420 trace.prev = tracehead; tracehead = &trace;
17421 trace.file = LOCATE_parser;
17422 variable[0] = self;
17423 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction231].i]) return;
17424 return_label495: while(false);
17425 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction231].i] = 1;
17426 tracehead = trace.prev;
17427 return;
17428 }
17429 void parser___ReduceAction232___action(val_t self, val_t param0) {
17430 struct trace_t trace = {NULL, NULL, 10266, LOCATE_parser___ReduceAction232___action};
17431 val_t variable[16];
17432 void **closurevariable = NULL;
17433 trace.prev = tracehead; tracehead = &trace;
17434 trace.file = LOCATE_parser;
17435 variable[0] = self;
17436 variable[1] = param0;
17437 variable[3] = NIT_NULL /*null*/;
17438 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17439 variable[4] = variable[5];
17440 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17441 variable[5] = variable[6];
17442 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17443 variable[6] = variable[7];
17444 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17445 variable[7] = variable[8];
17446 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17447 variable[8] = variable[9];
17448 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17449 variable[9] = variable[10];
17450 variable[10] = variable[9] /*nodearraylist1*/;
17451 variable[11] = TAG_Bool(( variable[10] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
17452 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction232___action, LOCATE_parser, 10276); nit_exit(1);}
17453 variable[11] = variable[8] /*nodearraylist2*/;
17454 variable[12] = TAG_Bool(( variable[11] /*tkwbreaknode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwbreaknode3*/, COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
17455 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction232___action, LOCATE_parser, 10278); nit_exit(1);}
17456 variable[12] = variable[6] /*nodearraylist4*/;
17457 variable[13] = TAG_Bool(( variable[12] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
17458 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction232___action, LOCATE_parser, 10280); nit_exit(1);}
17459 variable[13] = variable[5] /*nodearraylist5*/;
17460 variable[14] = TAG_Bool(( variable[13] /*psignaturenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*psignaturenode5*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
17461 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction232___action, LOCATE_parser, 10282); nit_exit(1);}
17462 variable[15] = NEW_AClosureDecl_parser_prod___AClosureDecl___init_aclosuredecl( variable[10] /*tkwwithnode2*/, variable[11] /*tkwbreaknode3*/, variable[12] /*tidnode4*/, variable[13] /*psignaturenode5*/, NIT_NULL /*null*/); /*new AClosureDecl*/
17463 variable[14] = variable[15];
17464 variable[3] = variable[14] /*pclosuredeclnode1*/ /*node_list=*/;
17465 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(23)) /*Parser::go_to*/;
17466 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
17467 return_label496: while(false);
17468 tracehead = trace.prev;
17469 return;
17470 }
17471 void parser___ReduceAction232___init(val_t self, int* init_table) {
17472 struct trace_t trace = {NULL, NULL, 10293, LOCATE_parser___ReduceAction232___init};
17473 val_t variable[2];
17474 void **closurevariable = NULL;
17475 trace.prev = tracehead; tracehead = &trace;
17476 trace.file = LOCATE_parser;
17477 variable[0] = self;
17478 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction232].i]) return;
17479 return_label497: while(false);
17480 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction232].i] = 1;
17481 tracehead = trace.prev;
17482 return;
17483 }
17484 void parser___ReduceAction233___action(val_t self, val_t param0) {
17485 struct trace_t trace = {NULL, NULL, 10297, LOCATE_parser___ReduceAction233___action};
17486 val_t variable[17];
17487 void **closurevariable = NULL;
17488 trace.prev = tracehead; tracehead = &trace;
17489 trace.file = LOCATE_parser;
17490 variable[0] = self;
17491 variable[1] = param0;
17492 variable[3] = NIT_NULL /*null*/;
17493 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17494 variable[4] = variable[5];
17495 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17496 variable[5] = variable[6];
17497 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17498 variable[6] = variable[7];
17499 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17500 variable[7] = variable[8];
17501 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17502 variable[8] = variable[9];
17503 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17504 variable[9] = variable[10];
17505 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17506 variable[10] = variable[11];
17507 variable[11] = variable[10] /*nodearraylist1*/;
17508 variable[12] = TAG_Bool(( variable[11] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
17509 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction233___action, LOCATE_parser, 10308); nit_exit(1);}
17510 variable[12] = variable[8] /*nodearraylist3*/;
17511 variable[13] = TAG_Bool(( variable[12] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
17512 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction233___action, LOCATE_parser, 10310); nit_exit(1);}
17513 variable[13] = variable[7] /*nodearraylist4*/;
17514 variable[14] = TAG_Bool(( variable[13] /*psignaturenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*psignaturenode5*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
17515 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction233___action, LOCATE_parser, 10312); nit_exit(1);}
17516 variable[14] = variable[5] /*nodearraylist6*/;
17517 variable[15] = TAG_Bool(( variable[14] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
17518 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction233___action, LOCATE_parser, 10314); nit_exit(1);}
17519 variable[16] = NEW_AClosureDecl_parser_prod___AClosureDecl___init_aclosuredecl( variable[11] /*tkwwithnode2*/, NIT_NULL /*null*/, variable[12] /*tidnode4*/, variable[13] /*psignaturenode5*/, variable[14] /*pexprnode6*/); /*new AClosureDecl*/
17520 variable[15] = variable[16];
17521 variable[3] = variable[15] /*pclosuredeclnode1*/ /*node_list=*/;
17522 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(23)) /*Parser::go_to*/;
17523 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
17524 return_label498: while(false);
17525 tracehead = trace.prev;
17526 return;
17527 }
17528 void parser___ReduceAction233___init(val_t self, int* init_table) {
17529 struct trace_t trace = {NULL, NULL, 10325, LOCATE_parser___ReduceAction233___init};
17530 val_t variable[2];
17531 void **closurevariable = NULL;
17532 trace.prev = tracehead; tracehead = &trace;
17533 trace.file = LOCATE_parser;
17534 variable[0] = self;
17535 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction233].i]) return;
17536 return_label499: while(false);
17537 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction233].i] = 1;
17538 tracehead = trace.prev;
17539 return;
17540 }
17541 void parser___ReduceAction234___action(val_t self, val_t param0) {
17542 struct trace_t trace = {NULL, NULL, 10329, LOCATE_parser___ReduceAction234___action};
17543 val_t variable[19];
17544 void **closurevariable = NULL;
17545 trace.prev = tracehead; tracehead = &trace;
17546 trace.file = LOCATE_parser;
17547 variable[0] = self;
17548 variable[1] = param0;
17549 variable[3] = NIT_NULL /*null*/;
17550 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17551 variable[4] = variable[5];
17552 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17553 variable[5] = variable[6];
17554 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17555 variable[6] = variable[7];
17556 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17557 variable[7] = variable[8];
17558 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17559 variable[8] = variable[9];
17560 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17561 variable[9] = variable[10];
17562 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17563 variable[10] = variable[11];
17564 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17565 variable[11] = variable[12];
17566 variable[12] = variable[11] /*nodearraylist1*/;
17567 variable[13] = TAG_Bool(( variable[12] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
17568 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction234___action, LOCATE_parser, 10341); nit_exit(1);}
17569 variable[13] = variable[10] /*nodearraylist2*/;
17570 variable[14] = TAG_Bool(( variable[13] /*tkwbreaknode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwbreaknode3*/, COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
17571 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction234___action, LOCATE_parser, 10343); nit_exit(1);}
17572 variable[14] = variable[8] /*nodearraylist4*/;
17573 variable[15] = TAG_Bool(( variable[14] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
17574 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction234___action, LOCATE_parser, 10345); nit_exit(1);}
17575 variable[15] = variable[7] /*nodearraylist5*/;
17576 variable[16] = TAG_Bool(( variable[15] /*psignaturenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*psignaturenode5*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
17577 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction234___action, LOCATE_parser, 10347); nit_exit(1);}
17578 variable[16] = variable[5] /*nodearraylist7*/;
17579 variable[17] = TAG_Bool(( variable[16] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
17580 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction234___action, LOCATE_parser, 10349); nit_exit(1);}
17581 variable[18] = NEW_AClosureDecl_parser_prod___AClosureDecl___init_aclosuredecl( variable[12] /*tkwwithnode2*/, variable[13] /*tkwbreaknode3*/, variable[14] /*tidnode4*/, variable[15] /*psignaturenode5*/, variable[16] /*pexprnode6*/); /*new AClosureDecl*/
17582 variable[17] = variable[18];
17583 variable[3] = variable[17] /*pclosuredeclnode1*/ /*node_list=*/;
17584 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(23)) /*Parser::go_to*/;
17585 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
17586 return_label500: while(false);
17587 tracehead = trace.prev;
17588 return;
17589 }
17590 void parser___ReduceAction234___init(val_t self, int* init_table) {
17591 struct trace_t trace = {NULL, NULL, 10360, LOCATE_parser___ReduceAction234___init};
17592 val_t variable[2];
17593 void **closurevariable = NULL;
17594 trace.prev = tracehead; tracehead = &trace;
17595 trace.file = LOCATE_parser;
17596 variable[0] = self;
17597 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction234].i]) return;
17598 return_label501: while(false);
17599 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction234].i] = 1;
17600 tracehead = trace.prev;
17601 return;
17602 }
17603 void parser___ReduceAction235___action(val_t self, val_t param0) {
17604 struct trace_t trace = {NULL, NULL, 10364, LOCATE_parser___ReduceAction235___action};
17605 val_t variable[9];
17606 void **closurevariable = NULL;
17607 trace.prev = tracehead; tracehead = &trace;
17608 trace.file = LOCATE_parser;
17609 variable[0] = self;
17610 variable[1] = param0;
17611 variable[3] = NIT_NULL /*null*/;
17612 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17613 variable[4] = variable[5];
17614 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17615 variable[5] = variable[6];
17616 variable[6] = variable[4] /*nodearraylist1*/;
17617 variable[7] = TAG_Bool(( variable[6] /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
17618 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction235___action, LOCATE_parser, 10370); nit_exit(1);}
17619 variable[8] = NEW_AType_parser_prod___AType___init_atype( variable[6] /*tclassidnode2*/, variable[5] /*listnode3*/); /*new AType*/
17620 variable[7] = variable[8];
17621 variable[3] = variable[7] /*ptypenode1*/ /*node_list=*/;
17622 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(24)) /*Parser::go_to*/;
17623 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
17624 return_label502: while(false);
17625 tracehead = trace.prev;
17626 return;
17627 }
17628 void parser___ReduceAction235___init(val_t self, int* init_table) {
17629 struct trace_t trace = {NULL, NULL, 10378, LOCATE_parser___ReduceAction235___init};
17630 val_t variable[2];
17631 void **closurevariable = NULL;
17632 trace.prev = tracehead; tracehead = &trace;
17633 trace.file = LOCATE_parser;
17634 variable[0] = self;
17635 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction235].i]) return;
17636 return_label503: while(false);
17637 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction235].i] = 1;
17638 tracehead = trace.prev;
17639 return;
17640 }
17641 void parser___ReduceAction236___action(val_t self, val_t param0) {
17642 struct trace_t trace = {NULL, NULL, 10382, LOCATE_parser___ReduceAction236___action};
17643 val_t variable[15];
17644 void **closurevariable = NULL;
17645 trace.prev = tracehead; tracehead = &trace;
17646 trace.file = LOCATE_parser;
17647 variable[0] = self;
17648 variable[1] = param0;
17649 variable[3] = NIT_NULL /*null*/;
17650 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17651 variable[4] = variable[5];
17652 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17653 variable[5] = variable[6];
17654 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17655 variable[6] = variable[7];
17656 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17657 variable[7] = variable[8];
17658 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17659 variable[8] = variable[9];
17660 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17661 variable[9] = variable[10];
17662 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17663 variable[10] = variable[11];
17664 variable[11] = variable[9] /*nodearraylist1*/;
17665 variable[12] = TAG_Bool(( variable[11] /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
17666 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction236___action, LOCATE_parser, 10393); nit_exit(1);}
17667 variable[12] = variable[6] /*nodearraylist4*/;
17668 variable[13] = TAG_Bool(( variable[12] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
17669 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction236___action, LOCATE_parser, 10395); nit_exit(1);}
17670 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode3*/)( variable[12] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17671 if (UNTAG_Bool(variable[13])) { /*if*/
17672 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode4*/)( variable[10] /*listnode4*/) /*AbstractArray::is_empty*/;
17673 if (UNTAG_Bool(variable[13])) { /*if*/
17674 variable[10] = variable[12] /*listnode3*/ /*listnode4=*/;
17675 } else { /*if*/
17676 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, variable[12] /*listnode3*/) /*IndexedCollection::append*/;
17677 }
17678 }
17679 variable[14] = NEW_AType_parser_prod___AType___init_atype( variable[11] /*tclassidnode2*/, variable[10] /*listnode4*/); /*new AType*/
17680 variable[13] = variable[14];
17681 variable[3] = variable[13] /*ptypenode1*/ /*node_list=*/;
17682 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(24)) /*Parser::go_to*/;
17683 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
17684 return_label504: while(false);
17685 tracehead = trace.prev;
17686 return;
17687 }
17688 void parser___ReduceAction236___init(val_t self, int* init_table) {
17689 struct trace_t trace = {NULL, NULL, 10410, LOCATE_parser___ReduceAction236___init};
17690 val_t variable[2];
17691 void **closurevariable = NULL;
17692 trace.prev = tracehead; tracehead = &trace;
17693 trace.file = LOCATE_parser;
17694 variable[0] = self;
17695 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction236].i]) return;
17696 return_label505: while(false);
17697 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction236].i] = 1;
17698 tracehead = trace.prev;
17699 return;
17700 }
17701 void parser___ReduceAction237___action(val_t self, val_t param0) {
17702 struct trace_t trace = {NULL, NULL, 10414, LOCATE_parser___ReduceAction237___action};
17703 val_t variable[8];
17704 void **closurevariable = NULL;
17705 trace.prev = tracehead; tracehead = &trace;
17706 trace.file = LOCATE_parser;
17707 variable[0] = self;
17708 variable[1] = param0;
17709 variable[3] = NIT_NULL /*null*/;
17710 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17711 variable[4] = variable[5];
17712 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17713 variable[5] = variable[6];
17714 variable[6] = variable[4] /*nodearraylist1*/;
17715 variable[7] = TAG_Bool(( variable[6] /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable[6] /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
17716 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction237___action, LOCATE_parser, 10420); nit_exit(1);}
17717 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*ptypenode1*/ == NIT_NULL /*null*/) || (( variable[6] /*ptypenode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*ptypenode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*ptypenode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*ptypenode1*/)( variable[6] /*ptypenode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17718 if (UNTAG_Bool(variable[7])) { /*if*/
17719 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*ptypenode1*/) /*AbstractArray::add*/;
17720 }
17721 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
17722 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(25)) /*Parser::go_to*/;
17723 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
17724 return_label506: while(false);
17725 tracehead = trace.prev;
17726 return;
17727 }
17728 void parser___ReduceAction237___init(val_t self, int* init_table) {
17729 struct trace_t trace = {NULL, NULL, 10427, LOCATE_parser___ReduceAction237___init};
17730 val_t variable[2];
17731 void **closurevariable = NULL;
17732 trace.prev = tracehead; tracehead = &trace;
17733 trace.file = LOCATE_parser;
17734 variable[0] = self;
17735 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction237].i]) return;
17736 return_label507: while(false);
17737 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction237].i] = 1;
17738 tracehead = trace.prev;
17739 return;
17740 }
17741 void parser___ReduceAction238___action(val_t self, val_t param0) {
17742 struct trace_t trace = {NULL, NULL, 10431, LOCATE_parser___ReduceAction238___action};
17743 val_t variable[10];
17744 void **closurevariable = NULL;
17745 trace.prev = tracehead; tracehead = &trace;
17746 trace.file = LOCATE_parser;
17747 variable[0] = self;
17748 variable[1] = param0;
17749 variable[3] = NIT_NULL /*null*/;
17750 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17751 variable[4] = variable[5];
17752 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17753 variable[5] = variable[6];
17754 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17755 variable[6] = variable[7];
17756 variable[7] = variable[5] /*nodearraylist1*/;
17757 variable[8] = TAG_Bool(( variable[7] /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable[7] /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
17758 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction238___action, LOCATE_parser, 10438); nit_exit(1);}
17759 variable[8] = variable[4] /*nodearraylist2*/;
17760 variable[9] = TAG_Bool(( variable[8] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
17761 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction238___action, LOCATE_parser, 10440); nit_exit(1);}
17762 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*ptypenode1*/ == NIT_NULL /*null*/) || (( variable[7] /*ptypenode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*ptypenode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*ptypenode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*ptypenode1*/)( variable[7] /*ptypenode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17763 if (UNTAG_Bool(variable[9])) { /*if*/
17764 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*ptypenode1*/) /*AbstractArray::add*/;
17765 }
17766 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*listnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*listnode2*/)( variable[8] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17767 if (UNTAG_Bool(variable[9])) { /*if*/
17768 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
17769 if (UNTAG_Bool(variable[9])) { /*if*/
17770 variable[6] = variable[8] /*listnode2*/ /*listnode3=*/;
17771 } else { /*if*/
17772 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*listnode2*/) /*IndexedCollection::append*/;
17773 }
17774 }
17775 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
17776 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(25)) /*Parser::go_to*/;
17777 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
17778 return_label508: while(false);
17779 tracehead = trace.prev;
17780 return;
17781 }
17782 void parser___ReduceAction238___init(val_t self, int* init_table) {
17783 struct trace_t trace = {NULL, NULL, 10454, LOCATE_parser___ReduceAction238___init};
17784 val_t variable[2];
17785 void **closurevariable = NULL;
17786 trace.prev = tracehead; tracehead = &trace;
17787 trace.file = LOCATE_parser;
17788 variable[0] = self;
17789 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction238].i]) return;
17790 return_label509: while(false);
17791 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction238].i] = 1;
17792 tracehead = trace.prev;
17793 return;
17794 }
17795 void parser___ReduceAction239___action(val_t self, val_t param0) {
17796 struct trace_t trace = {NULL, NULL, 10458, LOCATE_parser___ReduceAction239___action};
17797 val_t variable[9];
17798 void **closurevariable = NULL;
17799 trace.prev = tracehead; tracehead = &trace;
17800 trace.file = LOCATE_parser;
17801 variable[0] = self;
17802 variable[1] = param0;
17803 variable[3] = NIT_NULL /*null*/;
17804 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17805 variable[4] = variable[5];
17806 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17807 variable[5] = variable[6];
17808 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17809 variable[6] = variable[7];
17810 variable[7] = variable[4] /*nodearraylist3*/;
17811 variable[8] = TAG_Bool(( variable[7] /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable[7] /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
17812 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction239___action, LOCATE_parser, 10465); nit_exit(1);}
17813 variable[3] = variable[7] /*ptypenode1*/ /*node_list=*/;
17814 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(26)) /*Parser::go_to*/;
17815 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
17816 return_label510: while(false);
17817 tracehead = trace.prev;
17818 return;
17819 }
17820 void parser___ReduceAction239___init(val_t self, int* init_table) {
17821 struct trace_t trace = {NULL, NULL, 10469, LOCATE_parser___ReduceAction239___init};
17822 val_t variable[2];
17823 void **closurevariable = NULL;
17824 trace.prev = tracehead; tracehead = &trace;
17825 trace.file = LOCATE_parser;
17826 variable[0] = self;
17827 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction239].i]) return;
17828 return_label511: while(false);
17829 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction239].i] = 1;
17830 tracehead = trace.prev;
17831 return;
17832 }
17833 void parser___ReduceAction240___action(val_t self, val_t param0) {
17834 struct trace_t trace = {NULL, NULL, 10473, LOCATE_parser___ReduceAction240___action};
17835 val_t variable[9];
17836 void **closurevariable = NULL;
17837 trace.prev = tracehead; tracehead = &trace;
17838 trace.file = LOCATE_parser;
17839 variable[0] = self;
17840 variable[1] = param0;
17841 variable[3] = NIT_NULL /*null*/;
17842 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17843 variable[4] = variable[5];
17844 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17845 variable[5] = variable[6];
17846 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17847 variable[6] = variable[7];
17848 variable[7] = variable[4] /*nodearraylist3*/;
17849 variable[8] = TAG_Bool(( variable[7] /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable[7] /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
17850 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction240___action, LOCATE_parser, 10480); nit_exit(1);}
17851 variable[3] = variable[7] /*ptypenode1*/ /*node_list=*/;
17852 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(27)) /*Parser::go_to*/;
17853 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
17854 return_label512: while(false);
17855 tracehead = trace.prev;
17856 return;
17857 }
17858 void parser___ReduceAction240___init(val_t self, int* init_table) {
17859 struct trace_t trace = {NULL, NULL, 10484, LOCATE_parser___ReduceAction240___init};
17860 val_t variable[2];
17861 void **closurevariable = NULL;
17862 trace.prev = tracehead; tracehead = &trace;
17863 trace.file = LOCATE_parser;
17864 variable[0] = self;
17865 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction240].i]) return;
17866 return_label513: while(false);
17867 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction240].i] = 1;
17868 tracehead = trace.prev;
17869 return;
17870 }
17871 void parser___ReduceAction241___action(val_t self, val_t param0) {
17872 struct trace_t trace = {NULL, NULL, 10488, LOCATE_parser___ReduceAction241___action};
17873 val_t variable[7];
17874 void **closurevariable = NULL;
17875 trace.prev = tracehead; tracehead = &trace;
17876 trace.file = LOCATE_parser;
17877 variable[0] = self;
17878 variable[1] = param0;
17879 variable[3] = NIT_NULL /*null*/;
17880 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17881 variable[4] = variable[5];
17882 variable[5] = variable[4] /*nodearraylist1*/;
17883 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
17884 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction241___action, LOCATE_parser, 10493); nit_exit(1);}
17885 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
17886 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
17887 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
17888 return_label514: while(false);
17889 tracehead = trace.prev;
17890 return;
17891 }
17892 void parser___ReduceAction241___init(val_t self, int* init_table) {
17893 struct trace_t trace = {NULL, NULL, 10497, LOCATE_parser___ReduceAction241___init};
17894 val_t variable[2];
17895 void **closurevariable = NULL;
17896 trace.prev = tracehead; tracehead = &trace;
17897 trace.file = LOCATE_parser;
17898 variable[0] = self;
17899 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction241].i]) return;
17900 return_label515: while(false);
17901 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction241].i] = 1;
17902 tracehead = trace.prev;
17903 return;
17904 }
17905 void parser___ReduceAction242___action(val_t self, val_t param0) {
17906 struct trace_t trace = {NULL, NULL, 10501, LOCATE_parser___ReduceAction242___action};
17907 val_t variable[12];
17908 void **closurevariable = NULL;
17909 trace.prev = tracehead; tracehead = &trace;
17910 trace.file = LOCATE_parser;
17911 variable[0] = self;
17912 variable[1] = param0;
17913 variable[3] = NIT_NULL /*null*/;
17914 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17915 variable[4] = variable[5];
17916 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17917 variable[5] = variable[6];
17918 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17919 variable[6] = variable[7];
17920 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17921 variable[7] = variable[8];
17922 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17923 variable[8] = variable[9];
17924 variable[9] = variable[6] /*nodearraylist2*/;
17925 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
17926 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction242___action, LOCATE_parser, 10510); nit_exit(1);}
17927 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable[9] /*pexprnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[9] /*pexprnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[9] /*pexprnode2*/)( variable[9] /*pexprnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17928 if (UNTAG_Bool(variable[10])) { /*if*/
17929 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode3*/)( variable[8] /*listnode3*/, variable[9] /*pexprnode2*/) /*AbstractArray::add*/;
17930 }
17931 variable[11] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[8] /*listnode3*/); /*new ABlockExpr*/
17932 variable[10] = variable[11];
17933 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
17934 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
17935 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
17936 return_label516: while(false);
17937 tracehead = trace.prev;
17938 return;
17939 }
17940 void parser___ReduceAction242___init(val_t self, int* init_table) {
17941 struct trace_t trace = {NULL, NULL, 10520, LOCATE_parser___ReduceAction242___init};
17942 val_t variable[2];
17943 void **closurevariable = NULL;
17944 trace.prev = tracehead; tracehead = &trace;
17945 trace.file = LOCATE_parser;
17946 variable[0] = self;
17947 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction242].i]) return;
17948 return_label517: while(false);
17949 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction242].i] = 1;
17950 tracehead = trace.prev;
17951 return;
17952 }
17953 void parser___ReduceAction243___action(val_t self, val_t param0) {
17954 struct trace_t trace = {NULL, NULL, 10524, LOCATE_parser___ReduceAction243___action};
17955 val_t variable[14];
17956 void **closurevariable = NULL;
17957 trace.prev = tracehead; tracehead = &trace;
17958 trace.file = LOCATE_parser;
17959 variable[0] = self;
17960 variable[1] = param0;
17961 variable[3] = NIT_NULL /*null*/;
17962 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17963 variable[4] = variable[5];
17964 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17965 variable[5] = variable[6];
17966 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17967 variable[6] = variable[7];
17968 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17969 variable[7] = variable[8];
17970 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17971 variable[8] = variable[9];
17972 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17973 variable[9] = variable[10];
17974 variable[10] = variable[7] /*nodearraylist2*/;
17975 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
17976 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction243___action, LOCATE_parser, 10534); nit_exit(1);}
17977 variable[11] = variable[6] /*nodearraylist3*/;
17978 variable[12] = TAG_Bool(( variable[11] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
17979 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction243___action, LOCATE_parser, 10536); nit_exit(1);}
17980 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable[10] /*pexprnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*pexprnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*pexprnode2*/)( variable[10] /*pexprnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17981 if (UNTAG_Bool(variable[12])) { /*if*/
17982 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, variable[10] /*pexprnode2*/) /*AbstractArray::add*/;
17983 }
17984 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode3*/)( variable[11] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17985 if (UNTAG_Bool(variable[12])) { /*if*/
17986 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode4*/)( variable[9] /*listnode4*/) /*AbstractArray::is_empty*/;
17987 if (UNTAG_Bool(variable[12])) { /*if*/
17988 variable[9] = variable[11] /*listnode3*/ /*listnode4=*/;
17989 } else { /*if*/
17990 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, variable[11] /*listnode3*/) /*IndexedCollection::append*/;
17991 }
17992 }
17993 variable[13] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[9] /*listnode4*/); /*new ABlockExpr*/
17994 variable[12] = variable[13];
17995 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
17996 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
17997 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
17998 return_label518: while(false);
17999 tracehead = trace.prev;
18000 return;
18001 }
18002 void parser___ReduceAction243___init(val_t self, int* init_table) {
18003 struct trace_t trace = {NULL, NULL, 10553, LOCATE_parser___ReduceAction243___init};
18004 val_t variable[2];
18005 void **closurevariable = NULL;
18006 trace.prev = tracehead; tracehead = &trace;
18007 trace.file = LOCATE_parser;
18008 variable[0] = self;
18009 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction243].i]) return;
18010 return_label519: while(false);
18011 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction243].i] = 1;
18012 tracehead = trace.prev;
18013 return;
18014 }
18015 void parser___ReduceAction244___action(val_t self, val_t param0) {
18016 struct trace_t trace = {NULL, NULL, 10557, LOCATE_parser___ReduceAction244___action};
18017 val_t variable[9];
18018 void **closurevariable = NULL;
18019 trace.prev = tracehead; tracehead = &trace;
18020 trace.file = LOCATE_parser;
18021 variable[0] = self;
18022 variable[1] = param0;
18023 variable[3] = NIT_NULL /*null*/;
18024 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18025 variable[4] = variable[5];
18026 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18027 variable[5] = variable[6];
18028 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18029 variable[6] = variable[7];
18030 variable[8] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[6] /*listnode2*/); /*new ABlockExpr*/
18031 variable[7] = variable[8];
18032 variable[3] = variable[7] /*pexprnode1*/ /*node_list=*/;
18033 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
18034 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
18035 return_label520: while(false);
18036 tracehead = trace.prev;
18037 return;
18038 }
18039 void parser___ReduceAction244___init(val_t self, int* init_table) {
18040 struct trace_t trace = {NULL, NULL, 10569, LOCATE_parser___ReduceAction244___init};
18041 val_t variable[2];
18042 void **closurevariable = NULL;
18043 trace.prev = tracehead; tracehead = &trace;
18044 trace.file = LOCATE_parser;
18045 variable[0] = self;
18046 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction244].i]) return;
18047 return_label521: while(false);
18048 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction244].i] = 1;
18049 tracehead = trace.prev;
18050 return;
18051 }
18052 void parser___ReduceAction245___action(val_t self, val_t param0) {
18053 struct trace_t trace = {NULL, NULL, 10573, LOCATE_parser___ReduceAction245___action};
18054 val_t variable[8];
18055 void **closurevariable = NULL;
18056 trace.prev = tracehead; tracehead = &trace;
18057 trace.file = LOCATE_parser;
18058 variable[0] = self;
18059 variable[1] = param0;
18060 variable[3] = NIT_NULL /*null*/;
18061 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18062 variable[4] = variable[5];
18063 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18064 variable[5] = variable[6];
18065 variable[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[5] /*listnode2*/); /*new ABlockExpr*/
18066 variable[6] = variable[7];
18067 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
18068 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
18069 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
18070 return_label522: while(false);
18071 tracehead = trace.prev;
18072 return;
18073 }
18074 void parser___ReduceAction245___init(val_t self, int* init_table) {
18075 struct trace_t trace = {NULL, NULL, 10584, LOCATE_parser___ReduceAction245___init};
18076 val_t variable[2];
18077 void **closurevariable = NULL;
18078 trace.prev = tracehead; tracehead = &trace;
18079 trace.file = LOCATE_parser;
18080 variable[0] = self;
18081 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction245].i]) return;
18082 return_label523: while(false);
18083 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction245].i] = 1;
18084 tracehead = trace.prev;
18085 return;
18086 }
18087 void parser___ReduceAction246___action(val_t self, val_t param0) {
18088 struct trace_t trace = {NULL, NULL, 10588, LOCATE_parser___ReduceAction246___action};
18089 val_t variable[8];
18090 void **closurevariable = NULL;
18091 trace.prev = tracehead; tracehead = &trace;
18092 trace.file = LOCATE_parser;
18093 variable[0] = self;
18094 variable[1] = param0;
18095 variable[3] = NIT_NULL /*null*/;
18096 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18097 variable[4] = variable[5];
18098 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18099 variable[5] = variable[6];
18100 variable[6] = variable[4] /*nodearraylist2*/;
18101 variable[7] = TAG_Bool(( variable[6] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18102 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction246___action, LOCATE_parser, 10594); nit_exit(1);}
18103 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
18104 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(29)) /*Parser::go_to*/;
18105 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
18106 return_label524: while(false);
18107 tracehead = trace.prev;
18108 return;
18109 }
18110 void parser___ReduceAction246___init(val_t self, int* init_table) {
18111 struct trace_t trace = {NULL, NULL, 10598, LOCATE_parser___ReduceAction246___init};
18112 val_t variable[2];
18113 void **closurevariable = NULL;
18114 trace.prev = tracehead; tracehead = &trace;
18115 trace.file = LOCATE_parser;
18116 variable[0] = self;
18117 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction246].i]) return;
18118 return_label525: while(false);
18119 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction246].i] = 1;
18120 tracehead = trace.prev;
18121 return;
18122 }
18123 void parser___ReduceAction247___action(val_t self, val_t param0) {
18124 struct trace_t trace = {NULL, NULL, 10602, LOCATE_parser___ReduceAction247___action};
18125 val_t variable[7];
18126 void **closurevariable = NULL;
18127 trace.prev = tracehead; tracehead = &trace;
18128 trace.file = LOCATE_parser;
18129 variable[0] = self;
18130 variable[1] = param0;
18131 variable[3] = NIT_NULL /*null*/;
18132 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18133 variable[4] = variable[5];
18134 variable[5] = variable[4] /*nodearraylist1*/;
18135 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18136 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction247___action, LOCATE_parser, 10607); nit_exit(1);}
18137 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
18138 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(30)) /*Parser::go_to*/;
18139 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
18140 return_label526: while(false);
18141 tracehead = trace.prev;
18142 return;
18143 }
18144 void parser___ReduceAction247___init(val_t self, int* init_table) {
18145 struct trace_t trace = {NULL, NULL, 10611, LOCATE_parser___ReduceAction247___init};
18146 val_t variable[2];
18147 void **closurevariable = NULL;
18148 trace.prev = tracehead; tracehead = &trace;
18149 trace.file = LOCATE_parser;
18150 variable[0] = self;
18151 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction247].i]) return;
18152 return_label527: while(false);
18153 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction247].i] = 1;
18154 tracehead = trace.prev;
18155 return;
18156 }
18157 void parser___ReduceAction248___action(val_t self, val_t param0) {
18158 struct trace_t trace = {NULL, NULL, 10615, LOCATE_parser___ReduceAction248___action};
18159 val_t variable[7];
18160 void **closurevariable = NULL;
18161 trace.prev = tracehead; tracehead = &trace;
18162 trace.file = LOCATE_parser;
18163 variable[0] = self;
18164 variable[1] = param0;
18165 variable[3] = NIT_NULL /*null*/;
18166 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18167 variable[4] = variable[5];
18168 variable[5] = variable[4] /*nodearraylist1*/;
18169 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18170 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction248___action, LOCATE_parser, 10620); nit_exit(1);}
18171 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
18172 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(30)) /*Parser::go_to*/;
18173 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
18174 return_label528: while(false);
18175 tracehead = trace.prev;
18176 return;
18177 }
18178 void parser___ReduceAction248___init(val_t self, int* init_table) {
18179 struct trace_t trace = {NULL, NULL, 10624, LOCATE_parser___ReduceAction248___init};
18180 val_t variable[2];
18181 void **closurevariable = NULL;
18182 trace.prev = tracehead; tracehead = &trace;
18183 trace.file = LOCATE_parser;
18184 variable[0] = self;
18185 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction248].i]) return;
18186 return_label529: while(false);
18187 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction248].i] = 1;
18188 tracehead = trace.prev;
18189 return;
18190 }
18191 void parser___ReduceAction249___action(val_t self, val_t param0) {
18192 struct trace_t trace = {NULL, NULL, 10628, LOCATE_parser___ReduceAction249___action};
18193 val_t variable[8];
18194 void **closurevariable = NULL;
18195 trace.prev = tracehead; tracehead = &trace;
18196 trace.file = LOCATE_parser;
18197 variable[0] = self;
18198 variable[1] = param0;
18199 variable[3] = NIT_NULL /*null*/;
18200 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18201 variable[4] = variable[5];
18202 variable[5] = variable[4] /*nodearraylist1*/;
18203 variable[6] = TAG_Bool(( variable[5] /*tkwreturnnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwreturnnode2*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/;
18204 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction249___action, LOCATE_parser, 10633); nit_exit(1);}
18205 variable[7] = NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr( variable[5] /*tkwreturnnode2*/, NIT_NULL /*null*/); /*new AReturnExpr*/
18206 variable[6] = variable[7];
18207 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
18208 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(30)) /*Parser::go_to*/;
18209 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
18210 return_label530: while(false);
18211 tracehead = trace.prev;
18212 return;
18213 }
18214 void parser___ReduceAction249___init(val_t self, int* init_table) {
18215 struct trace_t trace = {NULL, NULL, 10641, LOCATE_parser___ReduceAction249___init};
18216 val_t variable[2];
18217 void **closurevariable = NULL;
18218 trace.prev = tracehead; tracehead = &trace;
18219 trace.file = LOCATE_parser;
18220 variable[0] = self;
18221 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction249].i]) return;
18222 return_label531: while(false);
18223 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction249].i] = 1;
18224 tracehead = trace.prev;
18225 return;
18226 }
18227 void parser___ReduceAction250___action(val_t self, val_t param0) {
18228 struct trace_t trace = {NULL, NULL, 10645, LOCATE_parser___ReduceAction250___action};
18229 val_t variable[10];
18230 void **closurevariable = NULL;
18231 trace.prev = tracehead; tracehead = &trace;
18232 trace.file = LOCATE_parser;
18233 variable[0] = self;
18234 variable[1] = param0;
18235 variable[3] = NIT_NULL /*null*/;
18236 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18237 variable[4] = variable[5];
18238 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18239 variable[5] = variable[6];
18240 variable[6] = variable[5] /*nodearraylist1*/;
18241 variable[7] = TAG_Bool(( variable[6] /*tkwreturnnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwreturnnode2*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/;
18242 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction250___action, LOCATE_parser, 10651); nit_exit(1);}
18243 variable[7] = variable[4] /*nodearraylist2*/;
18244 variable[8] = TAG_Bool(( variable[7] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18245 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction250___action, LOCATE_parser, 10653); nit_exit(1);}
18246 variable[9] = NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr( variable[6] /*tkwreturnnode2*/, variable[7] /*pexprnode3*/); /*new AReturnExpr*/
18247 variable[8] = variable[9];
18248 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
18249 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(30)) /*Parser::go_to*/;
18250 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
18251 return_label532: while(false);
18252 tracehead = trace.prev;
18253 return;
18254 }
18255 void parser___ReduceAction250___init(val_t self, int* init_table) {
18256 struct trace_t trace = {NULL, NULL, 10661, LOCATE_parser___ReduceAction250___init};
18257 val_t variable[2];
18258 void **closurevariable = NULL;
18259 trace.prev = tracehead; tracehead = &trace;
18260 trace.file = LOCATE_parser;
18261 variable[0] = self;
18262 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction250].i]) return;
18263 return_label533: while(false);
18264 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction250].i] = 1;
18265 tracehead = trace.prev;
18266 return;
18267 }
18268 void parser___ReduceAction251___action(val_t self, val_t param0) {
18269 struct trace_t trace = {NULL, NULL, 10665, LOCATE_parser___ReduceAction251___action};
18270 val_t variable[8];
18271 void **closurevariable = NULL;
18272 trace.prev = tracehead; tracehead = &trace;
18273 trace.file = LOCATE_parser;
18274 variable[0] = self;
18275 variable[1] = param0;
18276 variable[3] = NIT_NULL /*null*/;
18277 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18278 variable[4] = variable[5];
18279 variable[5] = variable[4] /*nodearraylist1*/;
18280 variable[6] = TAG_Bool(( variable[5] /*tkwbreaknode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwbreaknode2*/, COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
18281 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction251___action, LOCATE_parser, 10670); nit_exit(1);}
18282 variable[7] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr( variable[5] /*tkwbreaknode2*/, NIT_NULL /*null*/); /*new ABreakExpr*/
18283 variable[6] = variable[7];
18284 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
18285 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(30)) /*Parser::go_to*/;
18286 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
18287 return_label534: while(false);
18288 tracehead = trace.prev;
18289 return;
18290 }
18291 void parser___ReduceAction251___init(val_t self, int* init_table) {
18292 struct trace_t trace = {NULL, NULL, 10678, LOCATE_parser___ReduceAction251___init};
18293 val_t variable[2];
18294 void **closurevariable = NULL;
18295 trace.prev = tracehead; tracehead = &trace;
18296 trace.file = LOCATE_parser;
18297 variable[0] = self;
18298 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction251].i]) return;
18299 return_label535: while(false);
18300 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction251].i] = 1;
18301 tracehead = trace.prev;
18302 return;
18303 }
18304 void parser___ReduceAction252___action(val_t self, val_t param0) {
18305 struct trace_t trace = {NULL, NULL, 10682, LOCATE_parser___ReduceAction252___action};
18306 val_t variable[10];
18307 void **closurevariable = NULL;
18308 trace.prev = tracehead; tracehead = &trace;
18309 trace.file = LOCATE_parser;
18310 variable[0] = self;
18311 variable[1] = param0;
18312 variable[3] = NIT_NULL /*null*/;
18313 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18314 variable[4] = variable[5];
18315 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18316 variable[5] = variable[6];
18317 variable[6] = variable[5] /*nodearraylist1*/;
18318 variable[7] = TAG_Bool(( variable[6] /*tkwbreaknode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwbreaknode2*/, COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
18319 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction252___action, LOCATE_parser, 10688); nit_exit(1);}
18320 variable[7] = variable[4] /*nodearraylist2*/;
18321 variable[8] = TAG_Bool(( variable[7] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18322 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction252___action, LOCATE_parser, 10690); nit_exit(1);}
18323 variable[9] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr( variable[6] /*tkwbreaknode2*/, variable[7] /*pexprnode3*/); /*new ABreakExpr*/
18324 variable[8] = variable[9];
18325 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
18326 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(30)) /*Parser::go_to*/;
18327 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
18328 return_label536: while(false);
18329 tracehead = trace.prev;
18330 return;
18331 }
18332 void parser___ReduceAction252___init(val_t self, int* init_table) {
18333 struct trace_t trace = {NULL, NULL, 10698, LOCATE_parser___ReduceAction252___init};
18334 val_t variable[2];
18335 void **closurevariable = NULL;
18336 trace.prev = tracehead; tracehead = &trace;
18337 trace.file = LOCATE_parser;
18338 variable[0] = self;
18339 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction252].i]) return;
18340 return_label537: while(false);
18341 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction252].i] = 1;
18342 tracehead = trace.prev;
18343 return;
18344 }
18345 void parser___ReduceAction253___action(val_t self, val_t param0) {
18346 struct trace_t trace = {NULL, NULL, 10702, LOCATE_parser___ReduceAction253___action};
18347 val_t variable[8];
18348 void **closurevariable = NULL;
18349 trace.prev = tracehead; tracehead = &trace;
18350 trace.file = LOCATE_parser;
18351 variable[0] = self;
18352 variable[1] = param0;
18353 variable[3] = NIT_NULL /*null*/;
18354 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18355 variable[4] = variable[5];
18356 variable[5] = variable[4] /*nodearraylist1*/;
18357 variable[6] = TAG_Bool(( variable[5] /*tkwabortnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwabortnode2*/, COLOR_TKwabort, ID_TKwabort)) /*cast TKwabort*/;
18358 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction253___action, LOCATE_parser, 10707); nit_exit(1);}
18359 variable[7] = NEW_AAbortExpr_parser_prod___AAbortExpr___init_aabortexpr( variable[5] /*tkwabortnode2*/); /*new AAbortExpr*/
18360 variable[6] = variable[7];
18361 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
18362 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(30)) /*Parser::go_to*/;
18363 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
18364 return_label538: while(false);
18365 tracehead = trace.prev;
18366 return;
18367 }
18368 void parser___ReduceAction253___init(val_t self, int* init_table) {
18369 struct trace_t trace = {NULL, NULL, 10714, LOCATE_parser___ReduceAction253___init};
18370 val_t variable[2];
18371 void **closurevariable = NULL;
18372 trace.prev = tracehead; tracehead = &trace;
18373 trace.file = LOCATE_parser;
18374 variable[0] = self;
18375 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction253].i]) return;
18376 return_label539: while(false);
18377 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction253].i] = 1;
18378 tracehead = trace.prev;
18379 return;
18380 }
18381 void parser___ReduceAction254___action(val_t self, val_t param0) {
18382 struct trace_t trace = {NULL, NULL, 10718, LOCATE_parser___ReduceAction254___action};
18383 val_t variable[8];
18384 void **closurevariable = NULL;
18385 trace.prev = tracehead; tracehead = &trace;
18386 trace.file = LOCATE_parser;
18387 variable[0] = self;
18388 variable[1] = param0;
18389 variable[3] = NIT_NULL /*null*/;
18390 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18391 variable[4] = variable[5];
18392 variable[5] = variable[4] /*nodearraylist1*/;
18393 variable[6] = TAG_Bool(( variable[5] /*tkwcontinuenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwcontinuenode2*/, COLOR_TKwcontinue, ID_TKwcontinue)) /*cast TKwcontinue*/;
18394 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction254___action, LOCATE_parser, 10723); nit_exit(1);}
18395 variable[7] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr( variable[5] /*tkwcontinuenode2*/, NIT_NULL /*null*/); /*new AContinueExpr*/
18396 variable[6] = variable[7];
18397 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
18398 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(30)) /*Parser::go_to*/;
18399 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
18400 return_label540: while(false);
18401 tracehead = trace.prev;
18402 return;
18403 }
18404 void parser___ReduceAction254___init(val_t self, int* init_table) {
18405 struct trace_t trace = {NULL, NULL, 10731, LOCATE_parser___ReduceAction254___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(variable[0])->vft[INIT_TABLE_POS_ReduceAction254].i]) return;
18412 return_label541: while(false);
18413 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction254].i] = 1;
18414 tracehead = trace.prev;
18415 return;
18416 }
18417 void parser___ReduceAction255___action(val_t self, val_t param0) {
18418 struct trace_t trace = {NULL, NULL, 10735, LOCATE_parser___ReduceAction255___action};
18419 val_t variable[10];
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] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18427 variable[4] = variable[5];
18428 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18429 variable[5] = variable[6];
18430 variable[6] = variable[5] /*nodearraylist1*/;
18431 variable[7] = TAG_Bool(( variable[6] /*tkwcontinuenode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwcontinuenode2*/, COLOR_TKwcontinue, ID_TKwcontinue)) /*cast TKwcontinue*/;
18432 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction255___action, LOCATE_parser, 10741); nit_exit(1);}
18433 variable[7] = variable[4] /*nodearraylist2*/;
18434 variable[8] = TAG_Bool(( variable[7] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18435 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction255___action, LOCATE_parser, 10743); nit_exit(1);}
18436 variable[9] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr( variable[6] /*tkwcontinuenode2*/, variable[7] /*pexprnode3*/); /*new AContinueExpr*/
18437 variable[8] = variable[9];
18438 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
18439 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(30)) /*Parser::go_to*/;
18440 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
18441 return_label542: while(false);
18442 tracehead = trace.prev;
18443 return;
18444 }
18445 void parser___ReduceAction255___init(val_t self, int* init_table) {
18446 struct trace_t trace = {NULL, NULL, 10751, LOCATE_parser___ReduceAction255___init};
18447 val_t variable[2];
18448 void **closurevariable = NULL;
18449 trace.prev = tracehead; tracehead = &trace;
18450 trace.file = LOCATE_parser;
18451 variable[0] = self;
18452 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction255].i]) return;
18453 return_label543: while(false);
18454 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction255].i] = 1;
18455 tracehead = trace.prev;
18456 return;
18457 }
18458 void parser___ReduceAction256___action(val_t self, val_t param0) {
18459 struct trace_t trace = {NULL, NULL, 10755, LOCATE_parser___ReduceAction256___action};
18460 val_t variable[7];
18461 void **closurevariable = NULL;
18462 trace.prev = tracehead; tracehead = &trace;
18463 trace.file = LOCATE_parser;
18464 variable[0] = self;
18465 variable[1] = param0;
18466 variable[3] = NIT_NULL /*null*/;
18467 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18468 variable[4] = variable[5];
18469 variable[5] = variable[4] /*nodearraylist1*/;
18470 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18471 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction256___action, LOCATE_parser, 10760); nit_exit(1);}
18472 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
18473 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(30)) /*Parser::go_to*/;
18474 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
18475 return_label544: while(false);
18476 tracehead = trace.prev;
18477 return;
18478 }
18479 void parser___ReduceAction256___init(val_t self, int* init_table) {
18480 struct trace_t trace = {NULL, NULL, 10764, LOCATE_parser___ReduceAction256___init};
18481 val_t variable[2];
18482 void **closurevariable = NULL;
18483 trace.prev = tracehead; tracehead = &trace;
18484 trace.file = LOCATE_parser;
18485 variable[0] = self;
18486 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction256].i]) return;
18487 return_label545: while(false);
18488 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction256].i] = 1;
18489 tracehead = trace.prev;
18490 return;
18491 }
18492 void parser___ReduceAction257___action(val_t self, val_t param0) {
18493 struct trace_t trace = {NULL, NULL, 10768, LOCATE_parser___ReduceAction257___action};
18494 val_t variable[7];
18495 void **closurevariable = NULL;
18496 trace.prev = tracehead; tracehead = &trace;
18497 trace.file = LOCATE_parser;
18498 variable[0] = self;
18499 variable[1] = param0;
18500 variable[3] = NIT_NULL /*null*/;
18501 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18502 variable[4] = variable[5];
18503 variable[5] = variable[4] /*nodearraylist1*/;
18504 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18505 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction257___action, LOCATE_parser, 10773); nit_exit(1);}
18506 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
18507 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(30)) /*Parser::go_to*/;
18508 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
18509 return_label546: while(false);
18510 tracehead = trace.prev;
18511 return;
18512 }
18513 void parser___ReduceAction257___init(val_t self, int* init_table) {
18514 struct trace_t trace = {NULL, NULL, 10777, LOCATE_parser___ReduceAction257___init};
18515 val_t variable[2];
18516 void **closurevariable = NULL;
18517 trace.prev = tracehead; tracehead = &trace;
18518 trace.file = LOCATE_parser;
18519 variable[0] = self;
18520 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction257].i]) return;
18521 return_label547: while(false);
18522 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction257].i] = 1;
18523 tracehead = trace.prev;
18524 return;
18525 }
18526 void parser___ReduceAction258___action(val_t self, val_t param0) {
18527 struct trace_t trace = {NULL, NULL, 10781, LOCATE_parser___ReduceAction258___action};
18528 val_t variable[7];
18529 void **closurevariable = NULL;
18530 trace.prev = tracehead; tracehead = &trace;
18531 trace.file = LOCATE_parser;
18532 variable[0] = self;
18533 variable[1] = param0;
18534 variable[3] = NIT_NULL /*null*/;
18535 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18536 variable[4] = variable[5];
18537 variable[5] = variable[4] /*nodearraylist1*/;
18538 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18539 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction258___action, LOCATE_parser, 10786); nit_exit(1);}
18540 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
18541 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(30)) /*Parser::go_to*/;
18542 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
18543 return_label548: while(false);
18544 tracehead = trace.prev;
18545 return;
18546 }
18547 void parser___ReduceAction258___init(val_t self, int* init_table) {
18548 struct trace_t trace = {NULL, NULL, 10790, LOCATE_parser___ReduceAction258___init};
18549 val_t variable[2];
18550 void **closurevariable = NULL;
18551 trace.prev = tracehead; tracehead = &trace;
18552 trace.file = LOCATE_parser;
18553 variable[0] = self;
18554 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction258].i]) return;
18555 return_label549: while(false);
18556 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction258].i] = 1;
18557 tracehead = trace.prev;
18558 return;
18559 }
18560 void parser___ReduceAction259___action(val_t self, val_t param0) {
18561 struct trace_t trace = {NULL, NULL, 10794, LOCATE_parser___ReduceAction259___action};
18562 val_t variable[7];
18563 void **closurevariable = NULL;
18564 trace.prev = tracehead; tracehead = &trace;
18565 trace.file = LOCATE_parser;
18566 variable[0] = self;
18567 variable[1] = param0;
18568 variable[3] = NIT_NULL /*null*/;
18569 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18570 variable[4] = variable[5];
18571 variable[5] = variable[4] /*nodearraylist1*/;
18572 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18573 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction259___action, LOCATE_parser, 10799); nit_exit(1);}
18574 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
18575 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(30)) /*Parser::go_to*/;
18576 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
18577 return_label550: while(false);
18578 tracehead = trace.prev;
18579 return;
18580 }
18581 void parser___ReduceAction259___init(val_t self, int* init_table) {
18582 struct trace_t trace = {NULL, NULL, 10803, LOCATE_parser___ReduceAction259___init};
18583 val_t variable[2];
18584 void **closurevariable = NULL;
18585 trace.prev = tracehead; tracehead = &trace;
18586 trace.file = LOCATE_parser;
18587 variable[0] = self;
18588 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction259].i]) return;
18589 return_label551: while(false);
18590 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction259].i] = 1;
18591 tracehead = trace.prev;
18592 return;
18593 }
18594 void parser___ReduceAction260___action(val_t self, val_t param0) {
18595 struct trace_t trace = {NULL, NULL, 10807, LOCATE_parser___ReduceAction260___action};
18596 val_t variable[7];
18597 void **closurevariable = NULL;
18598 trace.prev = tracehead; tracehead = &trace;
18599 trace.file = LOCATE_parser;
18600 variable[0] = self;
18601 variable[1] = param0;
18602 variable[3] = NIT_NULL /*null*/;
18603 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18604 variable[4] = variable[5];
18605 variable[5] = variable[4] /*nodearraylist1*/;
18606 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18607 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction260___action, LOCATE_parser, 10812); nit_exit(1);}
18608 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
18609 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(30)) /*Parser::go_to*/;
18610 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
18611 return_label552: while(false);
18612 tracehead = trace.prev;
18613 return;
18614 }
18615 void parser___ReduceAction260___init(val_t self, int* init_table) {
18616 struct trace_t trace = {NULL, NULL, 10816, LOCATE_parser___ReduceAction260___init};
18617 val_t variable[2];
18618 void **closurevariable = NULL;
18619 trace.prev = tracehead; tracehead = &trace;
18620 trace.file = LOCATE_parser;
18621 variable[0] = self;
18622 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction260].i]) return;
18623 return_label553: while(false);
18624 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction260].i] = 1;
18625 tracehead = trace.prev;
18626 return;
18627 }
18628 void parser___ReduceAction261___action(val_t self, val_t param0) {
18629 struct trace_t trace = {NULL, NULL, 10820, LOCATE_parser___ReduceAction261___action};
18630 val_t variable[16];
18631 void **closurevariable = NULL;
18632 trace.prev = tracehead; tracehead = &trace;
18633 trace.file = LOCATE_parser;
18634 variable[0] = self;
18635 variable[1] = param0;
18636 variable[3] = NIT_NULL /*null*/;
18637 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18638 variable[4] = variable[5];
18639 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18640 variable[5] = variable[6];
18641 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18642 variable[6] = variable[7];
18643 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18644 variable[7] = variable[8];
18645 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18646 variable[8] = variable[9];
18647 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18648 variable[9] = variable[10];
18649 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18650 variable[10] = variable[11];
18651 variable[11] = variable[8] /*nodearraylist1*/;
18652 variable[12] = TAG_Bool(( variable[11] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18653 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction261___action, LOCATE_parser, 10831); nit_exit(1);}
18654 variable[12] = variable[5] /*nodearraylist4*/;
18655 variable[13] = TAG_Bool(( variable[12] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
18656 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction261___action, LOCATE_parser, 10833); nit_exit(1);}
18657 variable[13] = variable[4] /*nodearraylist5*/;
18658 variable[14] = TAG_Bool(( variable[13] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
18659 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction261___action, LOCATE_parser, 10835); nit_exit(1);}
18660 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*listnode4*/)( variable[13] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18661 if (UNTAG_Bool(variable[14])) { /*if*/
18662 variable[14] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode5*/)( variable[9] /*listnode5*/) /*AbstractArray::is_empty*/;
18663 if (UNTAG_Bool(variable[14])) { /*if*/
18664 variable[9] = variable[13] /*listnode4*/ /*listnode5=*/;
18665 } else { /*if*/
18666 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode5*/)( variable[9] /*listnode5*/, variable[13] /*listnode4*/) /*IndexedCollection::append*/;
18667 }
18668 }
18669 variable[15] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[11] /*pexprnode2*/, variable[12] /*tidnode3*/, variable[9] /*listnode5*/, variable[10] /*listnode6*/); /*new ACallExpr*/
18670 variable[14] = variable[15];
18671 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
18672 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(30)) /*Parser::go_to*/;
18673 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
18674 return_label554: while(false);
18675 tracehead = trace.prev;
18676 return;
18677 }
18678 void parser___ReduceAction261___init(val_t self, int* init_table) {
18679 struct trace_t trace = {NULL, NULL, 10852, LOCATE_parser___ReduceAction261___init};
18680 val_t variable[2];
18681 void **closurevariable = NULL;
18682 trace.prev = tracehead; tracehead = &trace;
18683 trace.file = LOCATE_parser;
18684 variable[0] = self;
18685 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction261].i]) return;
18686 return_label555: while(false);
18687 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction261].i] = 1;
18688 tracehead = trace.prev;
18689 return;
18690 }
18691 void parser___ReduceAction262___action(val_t self, val_t param0) {
18692 struct trace_t trace = {NULL, NULL, 10856, LOCATE_parser___ReduceAction262___action};
18693 val_t variable[13];
18694 void **closurevariable = NULL;
18695 trace.prev = tracehead; tracehead = &trace;
18696 trace.file = LOCATE_parser;
18697 variable[0] = self;
18698 variable[1] = param0;
18699 variable[3] = NIT_NULL /*null*/;
18700 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18701 variable[4] = variable[5];
18702 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18703 variable[5] = variable[6];
18704 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18705 variable[6] = variable[7];
18706 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18707 variable[7] = variable[8];
18708 variable[9] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
18709 variable[8] = variable[9];
18710 variable[9] = variable[5] /*nodearraylist1*/;
18711 variable[10] = TAG_Bool(( variable[9] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
18712 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction262___action, LOCATE_parser, 10866); nit_exit(1);}
18713 variable[10] = variable[4] /*nodearraylist2*/;
18714 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
18715 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction262___action, LOCATE_parser, 10868); nit_exit(1);}
18716 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18717 if (UNTAG_Bool(variable[11])) { /*if*/
18718 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
18719 if (UNTAG_Bool(variable[11])) { /*if*/
18720 variable[6] = variable[10] /*listnode4*/ /*listnode5=*/;
18721 } else { /*if*/
18722 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
18723 }
18724 }
18725 variable[12] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[8] /*pexprnode2*/, variable[9] /*tidnode3*/, variable[6] /*listnode5*/, variable[7] /*listnode6*/); /*new ACallExpr*/
18726 variable[11] = variable[12];
18727 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
18728 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(30)) /*Parser::go_to*/;
18729 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
18730 return_label556: while(false);
18731 tracehead = trace.prev;
18732 return;
18733 }
18734 void parser___ReduceAction262___init(val_t self, int* init_table) {
18735 struct trace_t trace = {NULL, NULL, 10885, LOCATE_parser___ReduceAction262___init};
18736 val_t variable[2];
18737 void **closurevariable = NULL;
18738 trace.prev = tracehead; tracehead = &trace;
18739 trace.file = LOCATE_parser;
18740 variable[0] = self;
18741 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction262].i]) return;
18742 return_label557: while(false);
18743 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction262].i] = 1;
18744 tracehead = trace.prev;
18745 return;
18746 }
18747 void parser___ReduceAction263___action(val_t self, val_t param0) {
18748 struct trace_t trace = {NULL, NULL, 10889, LOCATE_parser___ReduceAction263___action};
18749 val_t variable[18];
18750 void **closurevariable = NULL;
18751 trace.prev = tracehead; tracehead = &trace;
18752 trace.file = LOCATE_parser;
18753 variable[0] = self;
18754 variable[1] = param0;
18755 variable[3] = NIT_NULL /*null*/;
18756 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18757 variable[4] = variable[5];
18758 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18759 variable[5] = variable[6];
18760 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18761 variable[6] = variable[7];
18762 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18763 variable[7] = variable[8];
18764 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18765 variable[8] = variable[9];
18766 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18767 variable[9] = variable[10];
18768 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18769 variable[10] = variable[11];
18770 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18771 variable[11] = variable[12];
18772 variable[12] = variable[9] /*nodearraylist1*/;
18773 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18774 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction263___action, LOCATE_parser, 10901); nit_exit(1);}
18775 variable[13] = variable[6] /*nodearraylist4*/;
18776 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
18777 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction263___action, LOCATE_parser, 10903); nit_exit(1);}
18778 variable[14] = variable[5] /*nodearraylist5*/;
18779 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
18780 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction263___action, LOCATE_parser, 10905); nit_exit(1);}
18781 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18782 if (UNTAG_Bool(variable[15])) { /*if*/
18783 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode5*/)( variable[10] /*listnode5*/) /*AbstractArray::is_empty*/;
18784 if (UNTAG_Bool(variable[15])) { /*if*/
18785 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
18786 } else { /*if*/
18787 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode5*/)( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
18788 }
18789 }
18790 variable[15] = variable[4] /*nodearraylist6*/;
18791 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
18792 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction263___action, LOCATE_parser, 10914); nit_exit(1);}
18793 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*listnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*listnode6*/)( variable[15] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18794 if (UNTAG_Bool(variable[16])) { /*if*/
18795 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode7*/)( variable[11] /*listnode7*/) /*AbstractArray::is_empty*/;
18796 if (UNTAG_Bool(variable[16])) { /*if*/
18797 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
18798 } else { /*if*/
18799 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
18800 }
18801 }
18802 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/); /*new ACallExpr*/
18803 variable[16] = variable[17];
18804 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
18805 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(30)) /*Parser::go_to*/;
18806 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
18807 return_label558: while(false);
18808 tracehead = trace.prev;
18809 return;
18810 }
18811 void parser___ReduceAction263___init(val_t self, int* init_table) {
18812 struct trace_t trace = {NULL, NULL, 10931, LOCATE_parser___ReduceAction263___init};
18813 val_t variable[2];
18814 void **closurevariable = NULL;
18815 trace.prev = tracehead; tracehead = &trace;
18816 trace.file = LOCATE_parser;
18817 variable[0] = self;
18818 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction263].i]) return;
18819 return_label559: while(false);
18820 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction263].i] = 1;
18821 tracehead = trace.prev;
18822 return;
18823 }
18824 void parser___ReduceAction264___action(val_t self, val_t param0) {
18825 struct trace_t trace = {NULL, NULL, 10935, LOCATE_parser___ReduceAction264___action};
18826 val_t variable[15];
18827 void **closurevariable = NULL;
18828 trace.prev = tracehead; tracehead = &trace;
18829 trace.file = LOCATE_parser;
18830 variable[0] = self;
18831 variable[1] = param0;
18832 variable[3] = NIT_NULL /*null*/;
18833 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18834 variable[4] = variable[5];
18835 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18836 variable[5] = variable[6];
18837 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18838 variable[6] = variable[7];
18839 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18840 variable[7] = variable[8];
18841 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18842 variable[8] = variable[9];
18843 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
18844 variable[9] = variable[10];
18845 variable[10] = variable[6] /*nodearraylist1*/;
18846 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
18847 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction264___action, LOCATE_parser, 10946); nit_exit(1);}
18848 variable[11] = variable[5] /*nodearraylist2*/;
18849 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
18850 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction264___action, LOCATE_parser, 10948); nit_exit(1);}
18851 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18852 if (UNTAG_Bool(variable[12])) { /*if*/
18853 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
18854 if (UNTAG_Bool(variable[12])) { /*if*/
18855 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
18856 } else { /*if*/
18857 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
18858 }
18859 }
18860 variable[12] = variable[4] /*nodearraylist3*/;
18861 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
18862 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction264___action, LOCATE_parser, 10957); nit_exit(1);}
18863 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode6*/)( variable[12] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18864 if (UNTAG_Bool(variable[13])) { /*if*/
18865 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode7*/)( variable[8] /*listnode7*/) /*AbstractArray::is_empty*/;
18866 if (UNTAG_Bool(variable[13])) { /*if*/
18867 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
18868 } else { /*if*/
18869 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode7*/)( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
18870 }
18871 }
18872 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/); /*new ACallExpr*/
18873 variable[13] = variable[14];
18874 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
18875 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(30)) /*Parser::go_to*/;
18876 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
18877 return_label560: while(false);
18878 tracehead = trace.prev;
18879 return;
18880 }
18881 void parser___ReduceAction264___init(val_t self, int* init_table) {
18882 struct trace_t trace = {NULL, NULL, 10974, LOCATE_parser___ReduceAction264___init};
18883 val_t variable[2];
18884 void **closurevariable = NULL;
18885 trace.prev = tracehead; tracehead = &trace;
18886 trace.file = LOCATE_parser;
18887 variable[0] = self;
18888 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction264].i]) return;
18889 return_label561: while(false);
18890 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction264].i] = 1;
18891 tracehead = trace.prev;
18892 return;
18893 }
18894 void parser___ReduceAction265___action(val_t self, val_t param0) {
18895 struct trace_t trace = {NULL, NULL, 10978, LOCATE_parser___ReduceAction265___action};
18896 val_t variable[11];
18897 void **closurevariable = NULL;
18898 trace.prev = tracehead; tracehead = &trace;
18899 trace.file = LOCATE_parser;
18900 variable[0] = self;
18901 variable[1] = param0;
18902 variable[3] = NIT_NULL /*null*/;
18903 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18904 variable[4] = variable[5];
18905 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18906 variable[5] = variable[6];
18907 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18908 variable[6] = variable[7];
18909 variable[7] = variable[5] /*nodearraylist1*/;
18910 variable[8] = TAG_Bool(( variable[7] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
18911 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction265___action, LOCATE_parser, 10985); nit_exit(1);}
18912 variable[8] = variable[4] /*nodearraylist2*/;
18913 variable[9] = TAG_Bool(( variable[8] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
18914 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction265___action, LOCATE_parser, 10987); nit_exit(1);}
18915 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18916 if (UNTAG_Bool(variable[9])) { /*if*/
18917 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
18918 if (UNTAG_Bool(variable[9])) { /*if*/
18919 variable[6] = variable[8] /*listnode4*/ /*listnode5=*/;
18920 } else { /*if*/
18921 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[8] /*listnode4*/) /*IndexedCollection::append*/;
18922 }
18923 }
18924 variable[10] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable[7] /*tkwsupernode3*/, variable[6] /*listnode5*/); /*new ASuperExpr*/
18925 variable[9] = variable[10];
18926 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
18927 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(30)) /*Parser::go_to*/;
18928 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
18929 return_label562: while(false);
18930 tracehead = trace.prev;
18931 return;
18932 }
18933 void parser___ReduceAction265___init(val_t self, int* init_table) {
18934 struct trace_t trace = {NULL, NULL, 11003, LOCATE_parser___ReduceAction265___init};
18935 val_t variable[2];
18936 void **closurevariable = NULL;
18937 trace.prev = tracehead; tracehead = &trace;
18938 trace.file = LOCATE_parser;
18939 variable[0] = self;
18940 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction265].i]) return;
18941 return_label563: while(false);
18942 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction265].i] = 1;
18943 tracehead = trace.prev;
18944 return;
18945 }
18946 void parser___ReduceAction266___action(val_t self, val_t param0) {
18947 struct trace_t trace = {NULL, NULL, 11007, LOCATE_parser___ReduceAction266___action};
18948 val_t variable[13];
18949 void **closurevariable = NULL;
18950 trace.prev = tracehead; tracehead = &trace;
18951 trace.file = LOCATE_parser;
18952 variable[0] = self;
18953 variable[1] = param0;
18954 variable[3] = NIT_NULL /*null*/;
18955 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18956 variable[4] = variable[5];
18957 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18958 variable[5] = variable[6];
18959 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18960 variable[6] = variable[7];
18961 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18962 variable[7] = variable[8];
18963 variable[8] = variable[6] /*nodearraylist1*/;
18964 variable[9] = TAG_Bool(( variable[8] /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
18965 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction266___action, LOCATE_parser, 11015); nit_exit(1);}
18966 variable[9] = variable[5] /*nodearraylist2*/;
18967 variable[10] = TAG_Bool(( variable[9] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
18968 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction266___action, LOCATE_parser, 11017); nit_exit(1);}
18969 variable[10] = variable[4] /*nodearraylist3*/;
18970 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
18971 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction266___action, LOCATE_parser, 11019); nit_exit(1);}
18972 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18973 if (UNTAG_Bool(variable[11])) { /*if*/
18974 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
18975 if (UNTAG_Bool(variable[11])) { /*if*/
18976 variable[7] = variable[10] /*listnode4*/ /*listnode5=*/;
18977 } else { /*if*/
18978 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
18979 }
18980 }
18981 variable[12] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( variable[8] /*pqualifiednode2*/, variable[9] /*tkwsupernode3*/, variable[7] /*listnode5*/); /*new ASuperExpr*/
18982 variable[11] = variable[12];
18983 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
18984 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(30)) /*Parser::go_to*/;
18985 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
18986 return_label564: while(false);
18987 tracehead = trace.prev;
18988 return;
18989 }
18990 void parser___ReduceAction266___init(val_t self, int* init_table) {
18991 struct trace_t trace = {NULL, NULL, 11035, LOCATE_parser___ReduceAction266___init};
18992 val_t variable[2];
18993 void **closurevariable = NULL;
18994 trace.prev = tracehead; tracehead = &trace;
18995 trace.file = LOCATE_parser;
18996 variable[0] = self;
18997 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction266].i]) return;
18998 return_label565: while(false);
18999 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction266].i] = 1;
19000 tracehead = trace.prev;
19001 return;
19002 }
19003 void parser___ReduceAction267___action(val_t self, val_t param0) {
19004 struct trace_t trace = {NULL, NULL, 11039, LOCATE_parser___ReduceAction267___action};
19005 val_t variable[15];
19006 void **closurevariable = NULL;
19007 trace.prev = tracehead; tracehead = &trace;
19008 trace.file = LOCATE_parser;
19009 variable[0] = self;
19010 variable[1] = param0;
19011 variable[3] = NIT_NULL /*null*/;
19012 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19013 variable[4] = variable[5];
19014 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19015 variable[5] = variable[6];
19016 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19017 variable[6] = variable[7];
19018 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19019 variable[7] = variable[8];
19020 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19021 variable[8] = variable[9];
19022 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19023 variable[9] = variable[10];
19024 variable[10] = variable[8] /*nodearraylist1*/;
19025 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19026 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction267___action, LOCATE_parser, 11049); nit_exit(1);}
19027 variable[11] = variable[5] /*nodearraylist4*/;
19028 variable[12] = TAG_Bool(( variable[11] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
19029 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction267___action, LOCATE_parser, 11051); nit_exit(1);}
19030 variable[12] = variable[4] /*nodearraylist5*/;
19031 variable[13] = TAG_Bool(( variable[12] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19032 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction267___action, LOCATE_parser, 11053); nit_exit(1);}
19033 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode4*/)( variable[12] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19034 if (UNTAG_Bool(variable[13])) { /*if*/
19035 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode5*/)( variable[9] /*listnode5*/) /*AbstractArray::is_empty*/;
19036 if (UNTAG_Bool(variable[13])) { /*if*/
19037 variable[9] = variable[12] /*listnode4*/ /*listnode5=*/;
19038 } else { /*if*/
19039 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode5*/)( variable[9] /*listnode5*/, variable[12] /*listnode4*/) /*IndexedCollection::append*/;
19040 }
19041 }
19042 variable[14] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[10] /*pexprnode2*/, variable[11] /*tkwinitnode3*/, variable[9] /*listnode5*/); /*new AInitExpr*/
19043 variable[13] = variable[14];
19044 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
19045 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(30)) /*Parser::go_to*/;
19046 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
19047 return_label566: while(false);
19048 tracehead = trace.prev;
19049 return;
19050 }
19051 void parser___ReduceAction267___init(val_t self, int* init_table) {
19052 struct trace_t trace = {NULL, NULL, 11069, LOCATE_parser___ReduceAction267___init};
19053 val_t variable[2];
19054 void **closurevariable = NULL;
19055 trace.prev = tracehead; tracehead = &trace;
19056 trace.file = LOCATE_parser;
19057 variable[0] = self;
19058 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction267].i]) return;
19059 return_label567: while(false);
19060 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction267].i] = 1;
19061 tracehead = trace.prev;
19062 return;
19063 }
19064 void parser___ReduceAction268___action(val_t self, val_t param0) {
19065 struct trace_t trace = {NULL, NULL, 11073, LOCATE_parser___ReduceAction268___action};
19066 val_t variable[12];
19067 void **closurevariable = NULL;
19068 trace.prev = tracehead; tracehead = &trace;
19069 trace.file = LOCATE_parser;
19070 variable[0] = self;
19071 variable[1] = param0;
19072 variable[3] = NIT_NULL /*null*/;
19073 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19074 variable[4] = variable[5];
19075 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19076 variable[5] = variable[6];
19077 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19078 variable[6] = variable[7];
19079 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
19080 variable[7] = variable[8];
19081 variable[8] = variable[5] /*nodearraylist1*/;
19082 variable[9] = TAG_Bool(( variable[8] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
19083 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction268___action, LOCATE_parser, 11082); nit_exit(1);}
19084 variable[9] = variable[4] /*nodearraylist2*/;
19085 variable[10] = TAG_Bool(( variable[9] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19086 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction268___action, LOCATE_parser, 11084); nit_exit(1);}
19087 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[9] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19088 if (UNTAG_Bool(variable[10])) { /*if*/
19089 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
19090 if (UNTAG_Bool(variable[10])) { /*if*/
19091 variable[6] = variable[9] /*listnode4*/ /*listnode5=*/;
19092 } else { /*if*/
19093 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[9] /*listnode4*/) /*IndexedCollection::append*/;
19094 }
19095 }
19096 variable[11] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[7] /*pexprnode2*/, variable[8] /*tkwinitnode3*/, variable[6] /*listnode5*/); /*new AInitExpr*/
19097 variable[10] = variable[11];
19098 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
19099 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(30)) /*Parser::go_to*/;
19100 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
19101 return_label568: while(false);
19102 tracehead = trace.prev;
19103 return;
19104 }
19105 void parser___ReduceAction268___init(val_t self, int* init_table) {
19106 struct trace_t trace = {NULL, NULL, 11100, LOCATE_parser___ReduceAction268___init};
19107 val_t variable[2];
19108 void **closurevariable = NULL;
19109 trace.prev = tracehead; tracehead = &trace;
19110 trace.file = LOCATE_parser;
19111 variable[0] = self;
19112 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction268].i]) return;
19113 return_label569: while(false);
19114 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction268].i] = 1;
19115 tracehead = trace.prev;
19116 return;
19117 }
19118 void parser___ReduceAction269___action(val_t self, val_t param0) {
19119 struct trace_t trace = {NULL, NULL, 11104, LOCATE_parser___ReduceAction269___action};
19120 val_t variable[8];
19121 void **closurevariable = NULL;
19122 trace.prev = tracehead; tracehead = &trace;
19123 trace.file = LOCATE_parser;
19124 variable[0] = self;
19125 variable[1] = param0;
19126 variable[3] = NIT_NULL /*null*/;
19127 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19128 variable[4] = variable[5];
19129 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19130 variable[5] = variable[6];
19131 variable[6] = variable[4] /*nodearraylist1*/;
19132 variable[7] = TAG_Bool(( variable[6] /*pclosuredefnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pclosuredefnode1*/, COLOR_PClosureDef, ID_PClosureDef)) /*cast PClosureDef*/;
19133 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction269___action, LOCATE_parser, 11110); nit_exit(1);}
19134 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*pclosuredefnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*pclosuredefnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*pclosuredefnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*pclosuredefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*pclosuredefnode1*/)( variable[6] /*pclosuredefnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19135 if (UNTAG_Bool(variable[7])) { /*if*/
19136 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*pclosuredefnode1*/) /*AbstractArray::add*/;
19137 }
19138 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
19139 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(31)) /*Parser::go_to*/;
19140 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
19141 return_label570: while(false);
19142 tracehead = trace.prev;
19143 return;
19144 }
19145 void parser___ReduceAction269___init(val_t self, int* init_table) {
19146 struct trace_t trace = {NULL, NULL, 11117, LOCATE_parser___ReduceAction269___init};
19147 val_t variable[2];
19148 void **closurevariable = NULL;
19149 trace.prev = tracehead; tracehead = &trace;
19150 trace.file = LOCATE_parser;
19151 variable[0] = self;
19152 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction269].i]) return;
19153 return_label571: while(false);
19154 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction269].i] = 1;
19155 tracehead = trace.prev;
19156 return;
19157 }
19158 void parser___ReduceAction270___action(val_t self, val_t param0) {
19159 struct trace_t trace = {NULL, NULL, 11121, LOCATE_parser___ReduceAction270___action};
19160 val_t variable[10];
19161 void **closurevariable = NULL;
19162 trace.prev = tracehead; tracehead = &trace;
19163 trace.file = LOCATE_parser;
19164 variable[0] = self;
19165 variable[1] = param0;
19166 variable[3] = NIT_NULL /*null*/;
19167 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19168 variable[4] = variable[5];
19169 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19170 variable[5] = variable[6];
19171 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19172 variable[6] = variable[7];
19173 variable[7] = variable[5] /*nodearraylist1*/;
19174 variable[8] = TAG_Bool(( variable[7] /*pclosuredefnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*pclosuredefnode1*/, COLOR_PClosureDef, ID_PClosureDef)) /*cast PClosureDef*/;
19175 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction270___action, LOCATE_parser, 11128); nit_exit(1);}
19176 variable[8] = variable[4] /*nodearraylist2*/;
19177 variable[9] = TAG_Bool(( variable[8] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19178 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction270___action, LOCATE_parser, 11130); nit_exit(1);}
19179 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*pclosuredefnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*pclosuredefnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*pclosuredefnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*pclosuredefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*pclosuredefnode1*/)( variable[7] /*pclosuredefnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19180 if (UNTAG_Bool(variable[9])) { /*if*/
19181 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*pclosuredefnode1*/) /*AbstractArray::add*/;
19182 }
19183 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*listnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*listnode2*/)( variable[8] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19184 if (UNTAG_Bool(variable[9])) { /*if*/
19185 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
19186 if (UNTAG_Bool(variable[9])) { /*if*/
19187 variable[6] = variable[8] /*listnode2*/ /*listnode3=*/;
19188 } else { /*if*/
19189 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*listnode2*/) /*IndexedCollection::append*/;
19190 }
19191 }
19192 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
19193 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(31)) /*Parser::go_to*/;
19194 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
19195 return_label572: while(false);
19196 tracehead = trace.prev;
19197 return;
19198 }
19199 void parser___ReduceAction270___init(val_t self, int* init_table) {
19200 struct trace_t trace = {NULL, NULL, 11144, LOCATE_parser___ReduceAction270___init};
19201 val_t variable[2];
19202 void **closurevariable = NULL;
19203 trace.prev = tracehead; tracehead = &trace;
19204 trace.file = LOCATE_parser;
19205 variable[0] = self;
19206 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction270].i]) return;
19207 return_label573: while(false);
19208 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction270].i] = 1;
19209 tracehead = trace.prev;
19210 return;
19211 }
19212 void parser___ReduceAction271___action(val_t self, val_t param0) {
19213 struct trace_t trace = {NULL, NULL, 11148, LOCATE_parser___ReduceAction271___action};
19214 val_t variable[13];
19215 void **closurevariable = NULL;
19216 trace.prev = tracehead; tracehead = &trace;
19217 trace.file = LOCATE_parser;
19218 variable[0] = self;
19219 variable[1] = param0;
19220 variable[3] = NIT_NULL /*null*/;
19221 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19222 variable[4] = variable[5];
19223 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19224 variable[5] = variable[6];
19225 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19226 variable[6] = variable[7];
19227 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19228 variable[7] = variable[8];
19229 variable[8] = variable[6] /*nodearraylist1*/;
19230 variable[9] = TAG_Bool(( variable[8] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
19231 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction271___action, LOCATE_parser, 11156); nit_exit(1);}
19232 variable[9] = variable[5] /*nodearraylist2*/;
19233 variable[10] = TAG_Bool(( variable[9] /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
19234 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction271___action, LOCATE_parser, 11158); nit_exit(1);}
19235 variable[10] = variable[4] /*nodearraylist3*/;
19236 variable[11] = TAG_Bool(( variable[10] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19237 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction271___action, LOCATE_parser, 11160); nit_exit(1);}
19238 variable[12] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[8] /*tkwwithnode2*/, variable[7] /*listnode3*/, variable[9] /*tkwdonode4*/, variable[10] /*pexprnode5*/); /*new AClosureDef*/
19239 variable[11] = variable[12];
19240 variable[3] = variable[11] /*pclosuredefnode1*/ /*node_list=*/;
19241 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(32)) /*Parser::go_to*/;
19242 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
19243 return_label574: while(false);
19244 tracehead = trace.prev;
19245 return;
19246 }
19247 void parser___ReduceAction271___init(val_t self, int* init_table) {
19248 struct trace_t trace = {NULL, NULL, 11170, LOCATE_parser___ReduceAction271___init};
19249 val_t variable[2];
19250 void **closurevariable = NULL;
19251 trace.prev = tracehead; tracehead = &trace;
19252 trace.file = LOCATE_parser;
19253 variable[0] = self;
19254 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction271].i]) return;
19255 return_label575: while(false);
19256 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction271].i] = 1;
19257 tracehead = trace.prev;
19258 return;
19259 }
19260 void parser___ReduceAction272___action(val_t self, val_t param0) {
19261 struct trace_t trace = {NULL, NULL, 11174, LOCATE_parser___ReduceAction272___action};
19262 val_t variable[15];
19263 void **closurevariable = NULL;
19264 trace.prev = tracehead; tracehead = &trace;
19265 trace.file = LOCATE_parser;
19266 variable[0] = self;
19267 variable[1] = param0;
19268 variable[3] = NIT_NULL /*null*/;
19269 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19270 variable[4] = variable[5];
19271 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19272 variable[5] = variable[6];
19273 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19274 variable[6] = variable[7];
19275 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19276 variable[7] = variable[8];
19277 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19278 variable[8] = variable[9];
19279 variable[9] = variable[7] /*nodearraylist1*/;
19280 variable[10] = TAG_Bool(( variable[9] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
19281 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction272___action, LOCATE_parser, 11183); nit_exit(1);}
19282 variable[10] = variable[6] /*nodearraylist2*/;
19283 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19284 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction272___action, LOCATE_parser, 11185); nit_exit(1);}
19285 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19286 if (UNTAG_Bool(variable[11])) { /*if*/
19287 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode4*/)( variable[8] /*listnode4*/) /*AbstractArray::is_empty*/;
19288 if (UNTAG_Bool(variable[11])) { /*if*/
19289 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
19290 } else { /*if*/
19291 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
19292 }
19293 }
19294 variable[11] = variable[5] /*nodearraylist3*/;
19295 variable[12] = TAG_Bool(( variable[11] /*tkwdonode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwdonode5*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
19296 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction272___action, LOCATE_parser, 11194); nit_exit(1);}
19297 variable[12] = variable[4] /*nodearraylist4*/;
19298 variable[13] = TAG_Bool(( variable[12] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19299 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction272___action, LOCATE_parser, 11196); nit_exit(1);}
19300 variable[14] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[9] /*tkwwithnode2*/, variable[8] /*listnode4*/, variable[11] /*tkwdonode5*/, variable[12] /*pexprnode6*/); /*new AClosureDef*/
19301 variable[13] = variable[14];
19302 variable[3] = variable[13] /*pclosuredefnode1*/ /*node_list=*/;
19303 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(32)) /*Parser::go_to*/;
19304 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
19305 return_label576: while(false);
19306 tracehead = trace.prev;
19307 return;
19308 }
19309 void parser___ReduceAction272___init(val_t self, int* init_table) {
19310 struct trace_t trace = {NULL, NULL, 11206, LOCATE_parser___ReduceAction272___init};
19311 val_t variable[2];
19312 void **closurevariable = NULL;
19313 trace.prev = tracehead; tracehead = &trace;
19314 trace.file = LOCATE_parser;
19315 variable[0] = self;
19316 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction272].i]) return;
19317 return_label577: while(false);
19318 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction272].i] = 1;
19319 tracehead = trace.prev;
19320 return;
19321 }
19322 void parser___ReduceAction273___action(val_t self, val_t param0) {
19323 struct trace_t trace = {NULL, NULL, 11210, LOCATE_parser___ReduceAction273___action};
19324 val_t variable[17];
19325 void **closurevariable = NULL;
19326 trace.prev = tracehead; tracehead = &trace;
19327 trace.file = LOCATE_parser;
19328 variable[0] = self;
19329 variable[1] = param0;
19330 variable[3] = NIT_NULL /*null*/;
19331 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19332 variable[4] = variable[5];
19333 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19334 variable[5] = variable[6];
19335 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19336 variable[6] = variable[7];
19337 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19338 variable[7] = variable[8];
19339 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19340 variable[8] = variable[9];
19341 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19342 variable[9] = variable[10];
19343 variable[10] = variable[8] /*nodearraylist1*/;
19344 variable[11] = TAG_Bool(( variable[10] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
19345 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction273___action, LOCATE_parser, 11220); nit_exit(1);}
19346 variable[11] = variable[7] /*nodearraylist2*/;
19347 variable[12] = TAG_Bool(( variable[11] /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
19348 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction273___action, LOCATE_parser, 11222); nit_exit(1);}
19349 variable[13] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19350 variable[12] = variable[13];
19351 variable[13] = variable[5] /*nodearraylist4*/;
19352 variable[14] = TAG_Bool(( variable[13] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19353 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction273___action, LOCATE_parser, 11225); nit_exit(1);}
19354 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*pexprnode6*/ == NIT_NULL /*null*/) || (( variable[13] /*pexprnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*pexprnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*pexprnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*pexprnode6*/)( variable[13] /*pexprnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19355 if (UNTAG_Bool(variable[14])) { /*if*/
19356 CALL_abstract_collection___SimpleCollection___add( variable[12] /*listnode7*/)( variable[12] /*listnode7*/, variable[13] /*pexprnode6*/) /*AbstractArray::add*/;
19357 }
19358 variable[15] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[12] /*listnode7*/); /*new ABlockExpr*/
19359 variable[14] = variable[15];
19360 variable[16] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[10] /*tkwwithnode2*/, variable[9] /*listnode3*/, variable[11] /*tkwdonode4*/, variable[14] /*pexprnode5*/); /*new AClosureDef*/
19361 variable[15] = variable[16];
19362 variable[3] = variable[15] /*pclosuredefnode1*/ /*node_list=*/;
19363 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(33)) /*Parser::go_to*/;
19364 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
19365 return_label578: while(false);
19366 tracehead = trace.prev;
19367 return;
19368 }
19369 void parser___ReduceAction273___init(val_t self, int* init_table) {
19370 struct trace_t trace = {NULL, NULL, 11241, LOCATE_parser___ReduceAction273___init};
19371 val_t variable[2];
19372 void **closurevariable = NULL;
19373 trace.prev = tracehead; tracehead = &trace;
19374 trace.file = LOCATE_parser;
19375 variable[0] = self;
19376 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction273].i]) return;
19377 return_label579: while(false);
19378 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction273].i] = 1;
19379 tracehead = trace.prev;
19380 return;
19381 }
19382 void parser___ReduceAction274___action(val_t self, val_t param0) {
19383 struct trace_t trace = {NULL, NULL, 11245, LOCATE_parser___ReduceAction274___action};
19384 val_t variable[19];
19385 void **closurevariable = NULL;
19386 trace.prev = tracehead; tracehead = &trace;
19387 trace.file = LOCATE_parser;
19388 variable[0] = self;
19389 variable[1] = param0;
19390 variable[3] = NIT_NULL /*null*/;
19391 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19392 variable[4] = variable[5];
19393 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19394 variable[5] = variable[6];
19395 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19396 variable[6] = variable[7];
19397 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19398 variable[7] = variable[8];
19399 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19400 variable[8] = variable[9];
19401 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19402 variable[9] = variable[10];
19403 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19404 variable[10] = variable[11];
19405 variable[11] = variable[9] /*nodearraylist1*/;
19406 variable[12] = TAG_Bool(( variable[11] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
19407 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction274___action, LOCATE_parser, 11256); nit_exit(1);}
19408 variable[12] = variable[8] /*nodearraylist2*/;
19409 variable[13] = TAG_Bool(( variable[12] /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
19410 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction274___action, LOCATE_parser, 11258); nit_exit(1);}
19411 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19412 variable[13] = variable[14];
19413 variable[14] = variable[6] /*nodearraylist4*/;
19414 variable[15] = TAG_Bool(( variable[14] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19415 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction274___action, LOCATE_parser, 11261); nit_exit(1);}
19416 variable[15] = variable[5] /*nodearraylist5*/;
19417 variable[16] = TAG_Bool(( variable[15] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19418 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction274___action, LOCATE_parser, 11263); nit_exit(1);}
19419 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*pexprnode6*/ == NIT_NULL /*null*/) || (( variable[14] /*pexprnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*pexprnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*pexprnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*pexprnode6*/)( variable[14] /*pexprnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19420 if (UNTAG_Bool(variable[16])) { /*if*/
19421 CALL_abstract_collection___SimpleCollection___add( variable[13] /*listnode8*/)( variable[13] /*listnode8*/, variable[14] /*pexprnode6*/) /*AbstractArray::add*/;
19422 }
19423 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*listnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*listnode7*/)( variable[15] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19424 if (UNTAG_Bool(variable[16])) { /*if*/
19425 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[13] /*listnode8*/)( variable[13] /*listnode8*/) /*AbstractArray::is_empty*/;
19426 if (UNTAG_Bool(variable[16])) { /*if*/
19427 variable[13] = variable[15] /*listnode7*/ /*listnode8=*/;
19428 } else { /*if*/
19429 CALL_abstract_collection___IndexedCollection___append( variable[13] /*listnode8*/)( variable[13] /*listnode8*/, variable[15] /*listnode7*/) /*IndexedCollection::append*/;
19430 }
19431 }
19432 variable[17] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[13] /*listnode8*/); /*new ABlockExpr*/
19433 variable[16] = variable[17];
19434 variable[18] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[11] /*tkwwithnode2*/, variable[10] /*listnode3*/, variable[12] /*tkwdonode4*/, variable[16] /*pexprnode5*/); /*new AClosureDef*/
19435 variable[17] = variable[18];
19436 variable[3] = variable[17] /*pclosuredefnode1*/ /*node_list=*/;
19437 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(33)) /*Parser::go_to*/;
19438 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
19439 return_label580: while(false);
19440 tracehead = trace.prev;
19441 return;
19442 }
19443 void parser___ReduceAction274___init(val_t self, int* init_table) {
19444 struct trace_t trace = {NULL, NULL, 11286, LOCATE_parser___ReduceAction274___init};
19445 val_t variable[2];
19446 void **closurevariable = NULL;
19447 trace.prev = tracehead; tracehead = &trace;
19448 trace.file = LOCATE_parser;
19449 variable[0] = self;
19450 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction274].i]) return;
19451 return_label581: while(false);
19452 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction274].i] = 1;
19453 tracehead = trace.prev;
19454 return;
19455 }
19456 void parser___ReduceAction275___action(val_t self, val_t param0) {
19457 struct trace_t trace = {NULL, NULL, 11290, LOCATE_parser___ReduceAction275___action};
19458 val_t variable[19];
19459 void **closurevariable = NULL;
19460 trace.prev = tracehead; tracehead = &trace;
19461 trace.file = LOCATE_parser;
19462 variable[0] = self;
19463 variable[1] = param0;
19464 variable[3] = NIT_NULL /*null*/;
19465 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19466 variable[4] = variable[5];
19467 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19468 variable[5] = variable[6];
19469 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19470 variable[6] = variable[7];
19471 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19472 variable[7] = variable[8];
19473 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19474 variable[8] = variable[9];
19475 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19476 variable[9] = variable[10];
19477 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19478 variable[10] = variable[11];
19479 variable[11] = variable[9] /*nodearraylist1*/;
19480 variable[12] = TAG_Bool(( variable[11] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
19481 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction275___action, LOCATE_parser, 11301); nit_exit(1);}
19482 variable[12] = variable[8] /*nodearraylist2*/;
19483 variable[13] = TAG_Bool(( variable[12] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19484 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction275___action, LOCATE_parser, 11303); nit_exit(1);}
19485 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode3*/)( variable[12] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19486 if (UNTAG_Bool(variable[13])) { /*if*/
19487 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode4*/)( variable[10] /*listnode4*/) /*AbstractArray::is_empty*/;
19488 if (UNTAG_Bool(variable[13])) { /*if*/
19489 variable[10] = variable[12] /*listnode3*/ /*listnode4=*/;
19490 } else { /*if*/
19491 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, variable[12] /*listnode3*/) /*IndexedCollection::append*/;
19492 }
19493 }
19494 variable[13] = variable[7] /*nodearraylist3*/;
19495 variable[14] = TAG_Bool(( variable[13] /*tkwdonode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwdonode5*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
19496 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction275___action, LOCATE_parser, 11312); nit_exit(1);}
19497 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19498 variable[14] = variable[15];
19499 variable[15] = variable[5] /*nodearraylist5*/;
19500 variable[16] = TAG_Bool(( variable[15] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19501 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction275___action, LOCATE_parser, 11315); nit_exit(1);}
19502 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*pexprnode7*/ == NIT_NULL /*null*/) || (( variable[15] /*pexprnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*pexprnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*pexprnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*pexprnode7*/)( variable[15] /*pexprnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19503 if (UNTAG_Bool(variable[16])) { /*if*/
19504 CALL_abstract_collection___SimpleCollection___add( variable[14] /*listnode8*/)( variable[14] /*listnode8*/, variable[15] /*pexprnode7*/) /*AbstractArray::add*/;
19505 }
19506 variable[17] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[14] /*listnode8*/); /*new ABlockExpr*/
19507 variable[16] = variable[17];
19508 variable[18] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[11] /*tkwwithnode2*/, variable[10] /*listnode4*/, variable[13] /*tkwdonode5*/, variable[16] /*pexprnode6*/); /*new AClosureDef*/
19509 variable[17] = variable[18];
19510 variable[3] = variable[17] /*pclosuredefnode1*/ /*node_list=*/;
19511 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(33)) /*Parser::go_to*/;
19512 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
19513 return_label582: while(false);
19514 tracehead = trace.prev;
19515 return;
19516 }
19517 void parser___ReduceAction275___init(val_t self, int* init_table) {
19518 struct trace_t trace = {NULL, NULL, 11331, LOCATE_parser___ReduceAction275___init};
19519 val_t variable[2];
19520 void **closurevariable = NULL;
19521 trace.prev = tracehead; tracehead = &trace;
19522 trace.file = LOCATE_parser;
19523 variable[0] = self;
19524 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction275].i]) return;
19525 return_label583: while(false);
19526 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction275].i] = 1;
19527 tracehead = trace.prev;
19528 return;
19529 }
19530 void parser___ReduceAction276___action(val_t self, val_t param0) {
19531 struct trace_t trace = {NULL, NULL, 11335, LOCATE_parser___ReduceAction276___action};
19532 val_t variable[21];
19533 void **closurevariable = NULL;
19534 trace.prev = tracehead; tracehead = &trace;
19535 trace.file = LOCATE_parser;
19536 variable[0] = self;
19537 variable[1] = param0;
19538 variable[3] = NIT_NULL /*null*/;
19539 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19540 variable[4] = variable[5];
19541 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19542 variable[5] = variable[6];
19543 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19544 variable[6] = variable[7];
19545 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19546 variable[7] = variable[8];
19547 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19548 variable[8] = variable[9];
19549 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19550 variable[9] = variable[10];
19551 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19552 variable[10] = variable[11];
19553 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19554 variable[11] = variable[12];
19555 variable[12] = variable[10] /*nodearraylist1*/;
19556 variable[13] = TAG_Bool(( variable[12] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
19557 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction276___action, LOCATE_parser, 11347); nit_exit(1);}
19558 variable[13] = variable[9] /*nodearraylist2*/;
19559 variable[14] = TAG_Bool(( variable[13] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19560 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction276___action, LOCATE_parser, 11349); nit_exit(1);}
19561 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*listnode3*/)( variable[13] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19562 if (UNTAG_Bool(variable[14])) { /*if*/
19563 variable[14] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode4*/)( variable[11] /*listnode4*/) /*AbstractArray::is_empty*/;
19564 if (UNTAG_Bool(variable[14])) { /*if*/
19565 variable[11] = variable[13] /*listnode3*/ /*listnode4=*/;
19566 } else { /*if*/
19567 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode4*/)( variable[11] /*listnode4*/, variable[13] /*listnode3*/) /*IndexedCollection::append*/;
19568 }
19569 }
19570 variable[14] = variable[8] /*nodearraylist3*/;
19571 variable[15] = TAG_Bool(( variable[14] /*tkwdonode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwdonode5*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
19572 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction276___action, LOCATE_parser, 11358); nit_exit(1);}
19573 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19574 variable[15] = variable[16];
19575 variable[16] = variable[6] /*nodearraylist5*/;
19576 variable[17] = TAG_Bool(( variable[16] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19577 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction276___action, LOCATE_parser, 11361); nit_exit(1);}
19578 variable[17] = variable[5] /*nodearraylist6*/;
19579 variable[18] = TAG_Bool(( variable[17] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[17] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19580 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction276___action, LOCATE_parser, 11363); nit_exit(1);}
19581 variable[18] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*pexprnode7*/ == NIT_NULL /*null*/) || (( variable[16] /*pexprnode7*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[16] /*pexprnode7*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*pexprnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[16] /*pexprnode7*/)( variable[16] /*pexprnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19582 if (UNTAG_Bool(variable[18])) { /*if*/
19583 CALL_abstract_collection___SimpleCollection___add( variable[15] /*listnode9*/)( variable[15] /*listnode9*/, variable[16] /*pexprnode7*/) /*AbstractArray::add*/;
19584 }
19585 variable[18] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[17] /*listnode8*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[17] /*listnode8*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[17] /*listnode8*/)( variable[17] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19586 if (UNTAG_Bool(variable[18])) { /*if*/
19587 variable[18] = CALL_abstract_collection___Collection___is_empty( variable[15] /*listnode9*/)( variable[15] /*listnode9*/) /*AbstractArray::is_empty*/;
19588 if (UNTAG_Bool(variable[18])) { /*if*/
19589 variable[15] = variable[17] /*listnode8*/ /*listnode9=*/;
19590 } else { /*if*/
19591 CALL_abstract_collection___IndexedCollection___append( variable[15] /*listnode9*/)( variable[15] /*listnode9*/, variable[17] /*listnode8*/) /*IndexedCollection::append*/;
19592 }
19593 }
19594 variable[19] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[15] /*listnode9*/); /*new ABlockExpr*/
19595 variable[18] = variable[19];
19596 variable[20] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[12] /*tkwwithnode2*/, variable[11] /*listnode4*/, variable[14] /*tkwdonode5*/, variable[18] /*pexprnode6*/); /*new AClosureDef*/
19597 variable[19] = variable[20];
19598 variable[3] = variable[19] /*pclosuredefnode1*/ /*node_list=*/;
19599 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(33)) /*Parser::go_to*/;
19600 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
19601 return_label584: while(false);
19602 tracehead = trace.prev;
19603 return;
19604 }
19605 void parser___ReduceAction276___init(val_t self, int* init_table) {
19606 struct trace_t trace = {NULL, NULL, 11386, LOCATE_parser___ReduceAction276___init};
19607 val_t variable[2];
19608 void **closurevariable = NULL;
19609 trace.prev = tracehead; tracehead = &trace;
19610 trace.file = LOCATE_parser;
19611 variable[0] = self;
19612 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction276].i]) return;
19613 return_label585: while(false);
19614 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction276].i] = 1;
19615 tracehead = trace.prev;
19616 return;
19617 }
19618 void parser___ReduceAction277___action(val_t self, val_t param0) {
19619 struct trace_t trace = {NULL, NULL, 11390, LOCATE_parser___ReduceAction277___action};
19620 val_t variable[12];
19621 void **closurevariable = NULL;
19622 trace.prev = tracehead; tracehead = &trace;
19623 trace.file = LOCATE_parser;
19624 variable[0] = self;
19625 variable[1] = param0;
19626 variable[3] = NIT_NULL /*null*/;
19627 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19628 variable[4] = variable[5];
19629 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19630 variable[5] = variable[6];
19631 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19632 variable[6] = variable[7];
19633 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19634 variable[7] = variable[8];
19635 variable[8] = variable[6] /*nodearraylist1*/;
19636 variable[9] = TAG_Bool(( variable[8] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
19637 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction277___action, LOCATE_parser, 11398); nit_exit(1);}
19638 variable[9] = variable[5] /*nodearraylist2*/;
19639 variable[10] = TAG_Bool(( variable[9] /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
19640 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction277___action, LOCATE_parser, 11400); nit_exit(1);}
19641 variable[11] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[8] /*tkwwithnode2*/, variable[7] /*listnode3*/, variable[9] /*tkwdonode4*/, NIT_NULL /*null*/); /*new AClosureDef*/
19642 variable[10] = variable[11];
19643 variable[3] = variable[10] /*pclosuredefnode1*/ /*node_list=*/;
19644 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(33)) /*Parser::go_to*/;
19645 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
19646 return_label586: while(false);
19647 tracehead = trace.prev;
19648 return;
19649 }
19650 void parser___ReduceAction277___init(val_t self, int* init_table) {
19651 struct trace_t trace = {NULL, NULL, 11410, LOCATE_parser___ReduceAction277___init};
19652 val_t variable[2];
19653 void **closurevariable = NULL;
19654 trace.prev = tracehead; tracehead = &trace;
19655 trace.file = LOCATE_parser;
19656 variable[0] = self;
19657 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction277].i]) return;
19658 return_label587: while(false);
19659 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction277].i] = 1;
19660 tracehead = trace.prev;
19661 return;
19662 }
19663 void parser___ReduceAction278___action(val_t self, val_t param0) {
19664 struct trace_t trace = {NULL, NULL, 11414, LOCATE_parser___ReduceAction278___action};
19665 val_t variable[14];
19666 void **closurevariable = NULL;
19667 trace.prev = tracehead; tracehead = &trace;
19668 trace.file = LOCATE_parser;
19669 variable[0] = self;
19670 variable[1] = param0;
19671 variable[3] = NIT_NULL /*null*/;
19672 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19673 variable[4] = variable[5];
19674 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19675 variable[5] = variable[6];
19676 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19677 variable[6] = variable[7];
19678 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19679 variable[7] = variable[8];
19680 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19681 variable[8] = variable[9];
19682 variable[9] = variable[7] /*nodearraylist1*/;
19683 variable[10] = TAG_Bool(( variable[9] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
19684 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction278___action, LOCATE_parser, 11423); nit_exit(1);}
19685 variable[10] = variable[6] /*nodearraylist2*/;
19686 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19687 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction278___action, LOCATE_parser, 11425); nit_exit(1);}
19688 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19689 if (UNTAG_Bool(variable[11])) { /*if*/
19690 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode4*/)( variable[8] /*listnode4*/) /*AbstractArray::is_empty*/;
19691 if (UNTAG_Bool(variable[11])) { /*if*/
19692 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
19693 } else { /*if*/
19694 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
19695 }
19696 }
19697 variable[11] = variable[5] /*nodearraylist3*/;
19698 variable[12] = TAG_Bool(( variable[11] /*tkwdonode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwdonode5*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
19699 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction278___action, LOCATE_parser, 11434); nit_exit(1);}
19700 variable[13] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[9] /*tkwwithnode2*/, variable[8] /*listnode4*/, variable[11] /*tkwdonode5*/, NIT_NULL /*null*/); /*new AClosureDef*/
19701 variable[12] = variable[13];
19702 variable[3] = variable[12] /*pclosuredefnode1*/ /*node_list=*/;
19703 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(33)) /*Parser::go_to*/;
19704 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
19705 return_label588: while(false);
19706 tracehead = trace.prev;
19707 return;
19708 }
19709 void parser___ReduceAction278___init(val_t self, int* init_table) {
19710 struct trace_t trace = {NULL, NULL, 11444, LOCATE_parser___ReduceAction278___init};
19711 val_t variable[2];
19712 void **closurevariable = NULL;
19713 trace.prev = tracehead; tracehead = &trace;
19714 trace.file = LOCATE_parser;
19715 variable[0] = self;
19716 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction278].i]) return;
19717 return_label589: while(false);
19718 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction278].i] = 1;
19719 tracehead = trace.prev;
19720 return;
19721 }
19722 void parser___ReduceAction279___action(val_t self, val_t param0) {
19723 struct trace_t trace = {NULL, NULL, 11448, LOCATE_parser___ReduceAction279___action};
19724 val_t variable[10];
19725 void **closurevariable = NULL;
19726 trace.prev = tracehead; tracehead = &trace;
19727 trace.file = LOCATE_parser;
19728 variable[0] = self;
19729 variable[1] = param0;
19730 variable[3] = NIT_NULL /*null*/;
19731 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19732 variable[4] = variable[5];
19733 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19734 variable[5] = variable[6];
19735 variable[6] = variable[5] /*nodearraylist1*/;
19736 variable[7] = TAG_Bool(( variable[6] /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
19737 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction279___action, LOCATE_parser, 11454); nit_exit(1);}
19738 variable[7] = variable[4] /*nodearraylist2*/;
19739 variable[8] = TAG_Bool(( variable[7] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
19740 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction279___action, LOCATE_parser, 11456); nit_exit(1);}
19741 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*/
19742 variable[8] = variable[9];
19743 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
19744 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(34)) /*Parser::go_to*/;
19745 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
19746 return_label590: while(false);
19747 tracehead = trace.prev;
19748 return;
19749 }
19750 void parser___ReduceAction279___init(val_t self, int* init_table) {
19751 struct trace_t trace = {NULL, NULL, 11467, LOCATE_parser___ReduceAction279___init};
19752 val_t variable[2];
19753 void **closurevariable = NULL;
19754 trace.prev = tracehead; tracehead = &trace;
19755 trace.file = LOCATE_parser;
19756 variable[0] = self;
19757 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction279].i]) return;
19758 return_label591: while(false);
19759 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction279].i] = 1;
19760 tracehead = trace.prev;
19761 return;
19762 }
19763 void parser___ReduceAction280___action(val_t self, val_t param0) {
19764 struct trace_t trace = {NULL, NULL, 11471, LOCATE_parser___ReduceAction280___action};
19765 val_t variable[12];
19766 void **closurevariable = NULL;
19767 trace.prev = tracehead; tracehead = &trace;
19768 trace.file = LOCATE_parser;
19769 variable[0] = self;
19770 variable[1] = param0;
19771 variable[3] = NIT_NULL /*null*/;
19772 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19773 variable[4] = variable[5];
19774 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19775 variable[5] = variable[6];
19776 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19777 variable[6] = variable[7];
19778 variable[7] = variable[6] /*nodearraylist1*/;
19779 variable[8] = TAG_Bool(( variable[7] /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
19780 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction280___action, LOCATE_parser, 11478); nit_exit(1);}
19781 variable[8] = variable[5] /*nodearraylist2*/;
19782 variable[9] = TAG_Bool(( variable[8] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
19783 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction280___action, LOCATE_parser, 11480); nit_exit(1);}
19784 variable[9] = variable[4] /*nodearraylist3*/;
19785 variable[10] = TAG_Bool(( variable[9] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[9] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
19786 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction280___action, LOCATE_parser, 11482); nit_exit(1);}
19787 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*/
19788 variable[10] = variable[11];
19789 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
19790 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(34)) /*Parser::go_to*/;
19791 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
19792 return_label592: while(false);
19793 tracehead = trace.prev;
19794 return;
19795 }
19796 void parser___ReduceAction280___init(val_t self, int* init_table) {
19797 struct trace_t trace = {NULL, NULL, 11493, LOCATE_parser___ReduceAction280___init};
19798 val_t variable[2];
19799 void **closurevariable = NULL;
19800 trace.prev = tracehead; tracehead = &trace;
19801 trace.file = LOCATE_parser;
19802 variable[0] = self;
19803 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction280].i]) return;
19804 return_label593: while(false);
19805 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction280].i] = 1;
19806 tracehead = trace.prev;
19807 return;
19808 }
19809 void parser___ReduceAction281___action(val_t self, val_t param0) {
19810 struct trace_t trace = {NULL, NULL, 11497, LOCATE_parser___ReduceAction281___action};
19811 val_t variable[15];
19812 void **closurevariable = NULL;
19813 trace.prev = tracehead; tracehead = &trace;
19814 trace.file = LOCATE_parser;
19815 variable[0] = self;
19816 variable[1] = param0;
19817 variable[3] = NIT_NULL /*null*/;
19818 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19819 variable[4] = variable[5];
19820 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19821 variable[5] = variable[6];
19822 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19823 variable[6] = variable[7];
19824 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19825 variable[7] = variable[8];
19826 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19827 variable[8] = variable[9];
19828 variable[9] = variable[8] /*nodearraylist1*/;
19829 variable[10] = TAG_Bool(( variable[9] /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
19830 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction281___action, LOCATE_parser, 11506); nit_exit(1);}
19831 variable[10] = variable[7] /*nodearraylist2*/;
19832 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
19833 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction281___action, LOCATE_parser, 11508); nit_exit(1);}
19834 variable[11] = variable[6] /*nodearraylist3*/;
19835 variable[12] = TAG_Bool(( variable[11] /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
19836 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction281___action, LOCATE_parser, 11510); nit_exit(1);}
19837 variable[12] = variable[4] /*nodearraylist5*/;
19838 variable[13] = TAG_Bool(( variable[12] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19839 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction281___action, LOCATE_parser, 11512); nit_exit(1);}
19840 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*/
19841 variable[13] = variable[14];
19842 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
19843 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(34)) /*Parser::go_to*/;
19844 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
19845 return_label594: while(false);
19846 tracehead = trace.prev;
19847 return;
19848 }
19849 void parser___ReduceAction281___init(val_t self, int* init_table) {
19850 struct trace_t trace = {NULL, NULL, 11523, LOCATE_parser___ReduceAction281___init};
19851 val_t variable[2];
19852 void **closurevariable = NULL;
19853 trace.prev = tracehead; tracehead = &trace;
19854 trace.file = LOCATE_parser;
19855 variable[0] = self;
19856 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction281].i]) return;
19857 return_label595: while(false);
19858 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction281].i] = 1;
19859 tracehead = trace.prev;
19860 return;
19861 }
19862 void parser___ReduceAction282___action(val_t self, val_t param0) {
19863 struct trace_t trace = {NULL, NULL, 11527, LOCATE_parser___ReduceAction282___action};
19864 val_t variable[17];
19865 void **closurevariable = NULL;
19866 trace.prev = tracehead; tracehead = &trace;
19867 trace.file = LOCATE_parser;
19868 variable[0] = self;
19869 variable[1] = param0;
19870 variable[3] = NIT_NULL /*null*/;
19871 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19872 variable[4] = variable[5];
19873 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19874 variable[5] = variable[6];
19875 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19876 variable[6] = variable[7];
19877 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19878 variable[7] = variable[8];
19879 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19880 variable[8] = variable[9];
19881 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19882 variable[9] = variable[10];
19883 variable[10] = variable[9] /*nodearraylist1*/;
19884 variable[11] = TAG_Bool(( variable[10] /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
19885 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction282___action, LOCATE_parser, 11537); nit_exit(1);}
19886 variable[11] = variable[8] /*nodearraylist2*/;
19887 variable[12] = TAG_Bool(( variable[11] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
19888 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction282___action, LOCATE_parser, 11539); nit_exit(1);}
19889 variable[12] = variable[7] /*nodearraylist3*/;
19890 variable[13] = TAG_Bool(( variable[12] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[12] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
19891 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction282___action, LOCATE_parser, 11541); nit_exit(1);}
19892 variable[13] = variable[6] /*nodearraylist4*/;
19893 variable[14] = TAG_Bool(( variable[13] /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
19894 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction282___action, LOCATE_parser, 11543); nit_exit(1);}
19895 variable[14] = variable[4] /*nodearraylist6*/;
19896 variable[15] = TAG_Bool(( variable[14] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19897 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction282___action, LOCATE_parser, 11545); nit_exit(1);}
19898 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*/
19899 variable[15] = variable[16];
19900 variable[3] = variable[15] /*pexprnode1*/ /*node_list=*/;
19901 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(34)) /*Parser::go_to*/;
19902 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
19903 return_label596: while(false);
19904 tracehead = trace.prev;
19905 return;
19906 }
19907 void parser___ReduceAction282___init(val_t self, int* init_table) {
19908 struct trace_t trace = {NULL, NULL, 11556, LOCATE_parser___ReduceAction282___init};
19909 val_t variable[2];
19910 void **closurevariable = NULL;
19911 trace.prev = tracehead; tracehead = &trace;
19912 trace.file = LOCATE_parser;
19913 variable[0] = self;
19914 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction282].i]) return;
19915 return_label597: while(false);
19916 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction282].i] = 1;
19917 tracehead = trace.prev;
19918 return;
19919 }
19920 void parser___ReduceAction283___action(val_t self, val_t param0) {
19921 struct trace_t trace = {NULL, NULL, 11560, LOCATE_parser___ReduceAction283___action};
19922 val_t variable[16];
19923 void **closurevariable = NULL;
19924 trace.prev = tracehead; tracehead = &trace;
19925 trace.file = LOCATE_parser;
19926 variable[0] = self;
19927 variable[1] = param0;
19928 variable[3] = NIT_NULL /*null*/;
19929 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19930 variable[4] = variable[5];
19931 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19932 variable[5] = variable[6];
19933 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19934 variable[6] = variable[7];
19935 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19936 variable[7] = variable[8];
19937 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19938 variable[8] = variable[9];
19939 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19940 variable[9] = variable[10];
19941 variable[10] = variable[9] /*nodearraylist1*/;
19942 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19943 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction283___action, LOCATE_parser, 11570); nit_exit(1);}
19944 variable[11] = variable[6] /*nodearraylist4*/;
19945 variable[12] = TAG_Bool(( variable[11] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
19946 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction283___action, LOCATE_parser, 11572); nit_exit(1);}
19947 variable[12] = variable[5] /*nodearraylist5*/;
19948 variable[13] = TAG_Bool(( variable[12] /*tassignnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tassignnode4*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
19949 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction283___action, LOCATE_parser, 11574); nit_exit(1);}
19950 variable[13] = variable[4] /*nodearraylist6*/;
19951 variable[14] = TAG_Bool(( variable[13] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19952 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction283___action, LOCATE_parser, 11576); nit_exit(1);}
19953 variable[15] = NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr( variable[10] /*pexprnode2*/, variable[11] /*tattridnode3*/, variable[12] /*tassignnode4*/, variable[13] /*pexprnode5*/); /*new AAttrAssignExpr*/
19954 variable[14] = variable[15];
19955 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
19956 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(35)) /*Parser::go_to*/;
19957 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
19958 return_label598: while(false);
19959 tracehead = trace.prev;
19960 return;
19961 }
19962 void parser___ReduceAction283___init(val_t self, int* init_table) {
19963 struct trace_t trace = {NULL, NULL, 11586, LOCATE_parser___ReduceAction283___init};
19964 val_t variable[2];
19965 void **closurevariable = NULL;
19966 trace.prev = tracehead; tracehead = &trace;
19967 trace.file = LOCATE_parser;
19968 variable[0] = self;
19969 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction283].i]) return;
19970 return_label599: while(false);
19971 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction283].i] = 1;
19972 tracehead = trace.prev;
19973 return;
19974 }
19975 void parser___ReduceAction284___action(val_t self, val_t param0) {
19976 struct trace_t trace = {NULL, NULL, 11590, LOCATE_parser___ReduceAction284___action};
19977 val_t variable[13];
19978 void **closurevariable = NULL;
19979 trace.prev = tracehead; tracehead = &trace;
19980 trace.file = LOCATE_parser;
19981 variable[0] = self;
19982 variable[1] = param0;
19983 variable[3] = NIT_NULL /*null*/;
19984 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19985 variable[4] = variable[5];
19986 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19987 variable[5] = variable[6];
19988 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19989 variable[6] = variable[7];
19990 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
19991 variable[7] = variable[8];
19992 variable[8] = variable[6] /*nodearraylist1*/;
19993 variable[9] = TAG_Bool(( variable[8] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
19994 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction284___action, LOCATE_parser, 11599); nit_exit(1);}
19995 variable[9] = variable[5] /*nodearraylist2*/;
19996 variable[10] = TAG_Bool(( variable[9] /*tassignnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*tassignnode4*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
19997 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction284___action, LOCATE_parser, 11601); nit_exit(1);}
19998 variable[10] = variable[4] /*nodearraylist3*/;
19999 variable[11] = TAG_Bool(( variable[10] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20000 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction284___action, LOCATE_parser, 11603); nit_exit(1);}
20001 variable[12] = NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr( variable[7] /*pexprnode2*/, variable[8] /*tattridnode3*/, variable[9] /*tassignnode4*/, variable[10] /*pexprnode5*/); /*new AAttrAssignExpr*/
20002 variable[11] = variable[12];
20003 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
20004 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(35)) /*Parser::go_to*/;
20005 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
20006 return_label600: while(false);
20007 tracehead = trace.prev;
20008 return;
20009 }
20010 void parser___ReduceAction284___init(val_t self, int* init_table) {
20011 struct trace_t trace = {NULL, NULL, 11613, LOCATE_parser___ReduceAction284___init};
20012 val_t variable[2];
20013 void **closurevariable = NULL;
20014 trace.prev = tracehead; tracehead = &trace;
20015 trace.file = LOCATE_parser;
20016 variable[0] = self;
20017 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction284].i]) return;
20018 return_label601: while(false);
20019 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction284].i] = 1;
20020 tracehead = trace.prev;
20021 return;
20022 }
20023 void parser___ReduceAction285___action(val_t self, val_t param0) {
20024 struct trace_t trace = {NULL, NULL, 11617, LOCATE_parser___ReduceAction285___action};
20025 val_t variable[19];
20026 void **closurevariable = NULL;
20027 trace.prev = tracehead; tracehead = &trace;
20028 trace.file = LOCATE_parser;
20029 variable[0] = self;
20030 variable[1] = param0;
20031 variable[3] = NIT_NULL /*null*/;
20032 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20033 variable[4] = variable[5];
20034 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20035 variable[5] = variable[6];
20036 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20037 variable[6] = variable[7];
20038 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20039 variable[7] = variable[8];
20040 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20041 variable[8] = variable[9];
20042 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20043 variable[9] = variable[10];
20044 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20045 variable[10] = variable[11];
20046 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20047 variable[11] = variable[12];
20048 variable[12] = variable[10] /*nodearraylist1*/;
20049 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20050 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction285___action, LOCATE_parser, 11629); nit_exit(1);}
20051 variable[13] = variable[7] /*nodearraylist4*/;
20052 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
20053 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction285___action, LOCATE_parser, 11631); nit_exit(1);}
20054 variable[14] = variable[6] /*nodearraylist5*/;
20055 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
20056 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction285___action, LOCATE_parser, 11633); nit_exit(1);}
20057 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20058 if (UNTAG_Bool(variable[15])) { /*if*/
20059 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode5*/)( variable[11] /*listnode5*/) /*AbstractArray::is_empty*/;
20060 if (UNTAG_Bool(variable[15])) { /*if*/
20061 variable[11] = variable[14] /*listnode4*/ /*listnode5=*/;
20062 } else { /*if*/
20063 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode5*/)( variable[11] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
20064 }
20065 }
20066 variable[15] = variable[5] /*nodearraylist6*/;
20067 variable[16] = TAG_Bool(( variable[15] /*tassignnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*tassignnode6*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
20068 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction285___action, LOCATE_parser, 11642); nit_exit(1);}
20069 variable[16] = variable[4] /*nodearraylist7*/;
20070 variable[17] = TAG_Bool(( variable[16] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20071 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction285___action, LOCATE_parser, 11644); nit_exit(1);}
20072 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*/
20073 variable[17] = variable[18];
20074 variable[3] = variable[17] /*pexprnode1*/ /*node_list=*/;
20075 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(35)) /*Parser::go_to*/;
20076 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
20077 return_label602: while(false);
20078 tracehead = trace.prev;
20079 return;
20080 }
20081 void parser___ReduceAction285___init(val_t self, int* init_table) {
20082 struct trace_t trace = {NULL, NULL, 11655, LOCATE_parser___ReduceAction285___init};
20083 val_t variable[2];
20084 void **closurevariable = NULL;
20085 trace.prev = tracehead; tracehead = &trace;
20086 trace.file = LOCATE_parser;
20087 variable[0] = self;
20088 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction285].i]) return;
20089 return_label603: while(false);
20090 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction285].i] = 1;
20091 tracehead = trace.prev;
20092 return;
20093 }
20094 void parser___ReduceAction286___action(val_t self, val_t param0) {
20095 struct trace_t trace = {NULL, NULL, 11659, LOCATE_parser___ReduceAction286___action};
20096 val_t variable[16];
20097 void **closurevariable = NULL;
20098 trace.prev = tracehead; tracehead = &trace;
20099 trace.file = LOCATE_parser;
20100 variable[0] = self;
20101 variable[1] = param0;
20102 variable[3] = NIT_NULL /*null*/;
20103 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20104 variable[4] = variable[5];
20105 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20106 variable[5] = variable[6];
20107 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20108 variable[6] = variable[7];
20109 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20110 variable[7] = variable[8];
20111 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20112 variable[8] = variable[9];
20113 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
20114 variable[9] = variable[10];
20115 variable[10] = variable[7] /*nodearraylist1*/;
20116 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
20117 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction286___action, LOCATE_parser, 11670); nit_exit(1);}
20118 variable[11] = variable[6] /*nodearraylist2*/;
20119 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
20120 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction286___action, LOCATE_parser, 11672); nit_exit(1);}
20121 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20122 if (UNTAG_Bool(variable[12])) { /*if*/
20123 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode5*/)( variable[8] /*listnode5*/) /*AbstractArray::is_empty*/;
20124 if (UNTAG_Bool(variable[12])) { /*if*/
20125 variable[8] = variable[11] /*listnode4*/ /*listnode5=*/;
20126 } else { /*if*/
20127 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode5*/)( variable[8] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
20128 }
20129 }
20130 variable[12] = variable[5] /*nodearraylist3*/;
20131 variable[13] = TAG_Bool(( variable[12] /*tassignnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*tassignnode6*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
20132 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction286___action, LOCATE_parser, 11681); nit_exit(1);}
20133 variable[13] = variable[4] /*nodearraylist4*/;
20134 variable[14] = TAG_Bool(( variable[13] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20135 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction286___action, LOCATE_parser, 11683); nit_exit(1);}
20136 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*/
20137 variable[14] = variable[15];
20138 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
20139 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(35)) /*Parser::go_to*/;
20140 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
20141 return_label604: while(false);
20142 tracehead = trace.prev;
20143 return;
20144 }
20145 void parser___ReduceAction286___init(val_t self, int* init_table) {
20146 struct trace_t trace = {NULL, NULL, 11694, LOCATE_parser___ReduceAction286___init};
20147 val_t variable[2];
20148 void **closurevariable = NULL;
20149 trace.prev = tracehead; tracehead = &trace;
20150 trace.file = LOCATE_parser;
20151 variable[0] = self;
20152 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction286].i]) return;
20153 return_label605: while(false);
20154 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction286].i] = 1;
20155 tracehead = trace.prev;
20156 return;
20157 }
20158 void parser___ReduceAction287___action(val_t self, val_t param0) {
20159 struct trace_t trace = {NULL, NULL, 11698, LOCATE_parser___ReduceAction287___action};
20160 val_t variable[15];
20161 void **closurevariable = NULL;
20162 trace.prev = tracehead; tracehead = &trace;
20163 trace.file = LOCATE_parser;
20164 variable[0] = self;
20165 variable[1] = param0;
20166 variable[3] = NIT_NULL /*null*/;
20167 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20168 variable[4] = variable[5];
20169 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20170 variable[5] = variable[6];
20171 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20172 variable[6] = variable[7];
20173 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20174 variable[7] = variable[8];
20175 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20176 variable[8] = variable[9];
20177 variable[9] = variable[7] /*nodearraylist1*/;
20178 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20179 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction287___action, LOCATE_parser, 11707); nit_exit(1);}
20180 variable[10] = variable[6] /*nodearraylist2*/;
20181 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
20182 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction287___action, LOCATE_parser, 11709); nit_exit(1);}
20183 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20184 if (UNTAG_Bool(variable[11])) { /*if*/
20185 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode4*/)( variable[8] /*listnode4*/) /*AbstractArray::is_empty*/;
20186 if (UNTAG_Bool(variable[11])) { /*if*/
20187 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
20188 } else { /*if*/
20189 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
20190 }
20191 }
20192 variable[11] = variable[5] /*nodearraylist3*/;
20193 variable[12] = TAG_Bool(( variable[11] /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
20194 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction287___action, LOCATE_parser, 11718); nit_exit(1);}
20195 variable[12] = variable[4] /*nodearraylist4*/;
20196 variable[13] = TAG_Bool(( variable[12] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20197 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction287___action, LOCATE_parser, 11720); nit_exit(1);}
20198 variable[14] = NEW_ABraAssignExpr_parser_prod___ABraAssignExpr___init_abraassignexpr( variable[9] /*pexprnode2*/, variable[8] /*listnode4*/, variable[11] /*tassignnode5*/, variable[12] /*pexprnode6*/); /*new ABraAssignExpr*/
20199 variable[13] = variable[14];
20200 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
20201 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(35)) /*Parser::go_to*/;
20202 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
20203 return_label606: while(false);
20204 tracehead = trace.prev;
20205 return;
20206 }
20207 void parser___ReduceAction287___init(val_t self, int* init_table) {
20208 struct trace_t trace = {NULL, NULL, 11730, LOCATE_parser___ReduceAction287___init};
20209 val_t variable[2];
20210 void **closurevariable = NULL;
20211 trace.prev = tracehead; tracehead = &trace;
20212 trace.file = LOCATE_parser;
20213 variable[0] = self;
20214 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction287].i]) return;
20215 return_label607: while(false);
20216 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction287].i] = 1;
20217 tracehead = trace.prev;
20218 return;
20219 }
20220 void parser___ReduceAction288___action(val_t self, val_t param0) {
20221 struct trace_t trace = {NULL, NULL, 11734, LOCATE_parser___ReduceAction288___action};
20222 val_t variable[16];
20223 void **closurevariable = NULL;
20224 trace.prev = tracehead; tracehead = &trace;
20225 trace.file = LOCATE_parser;
20226 variable[0] = self;
20227 variable[1] = param0;
20228 variable[3] = NIT_NULL /*null*/;
20229 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20230 variable[4] = variable[5];
20231 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20232 variable[5] = variable[6];
20233 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20234 variable[6] = variable[7];
20235 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20236 variable[7] = variable[8];
20237 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20238 variable[8] = variable[9];
20239 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20240 variable[9] = variable[10];
20241 variable[10] = variable[9] /*nodearraylist1*/;
20242 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20243 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction288___action, LOCATE_parser, 11744); nit_exit(1);}
20244 variable[11] = variable[6] /*nodearraylist4*/;
20245 variable[12] = TAG_Bool(( variable[11] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
20246 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction288___action, LOCATE_parser, 11746); nit_exit(1);}
20247 variable[12] = variable[5] /*nodearraylist5*/;
20248 variable[13] = TAG_Bool(( variable[12] /*passignopnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*passignopnode4*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
20249 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction288___action, LOCATE_parser, 11748); nit_exit(1);}
20250 variable[13] = variable[4] /*nodearraylist6*/;
20251 variable[14] = TAG_Bool(( variable[13] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20252 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction288___action, LOCATE_parser, 11750); nit_exit(1);}
20253 variable[15] = NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr( variable[10] /*pexprnode2*/, variable[11] /*tattridnode3*/, variable[12] /*passignopnode4*/, variable[13] /*pexprnode5*/); /*new AAttrReassignExpr*/
20254 variable[14] = variable[15];
20255 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
20256 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(35)) /*Parser::go_to*/;
20257 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
20258 return_label608: while(false);
20259 tracehead = trace.prev;
20260 return;
20261 }
20262 void parser___ReduceAction288___init(val_t self, int* init_table) {
20263 struct trace_t trace = {NULL, NULL, 11760, LOCATE_parser___ReduceAction288___init};
20264 val_t variable[2];
20265 void **closurevariable = NULL;
20266 trace.prev = tracehead; tracehead = &trace;
20267 trace.file = LOCATE_parser;
20268 variable[0] = self;
20269 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction288].i]) return;
20270 return_label609: while(false);
20271 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction288].i] = 1;
20272 tracehead = trace.prev;
20273 return;
20274 }
20275 void parser___ReduceAction289___action(val_t self, val_t param0) {
20276 struct trace_t trace = {NULL, NULL, 11764, LOCATE_parser___ReduceAction289___action};
20277 val_t variable[13];
20278 void **closurevariable = NULL;
20279 trace.prev = tracehead; tracehead = &trace;
20280 trace.file = LOCATE_parser;
20281 variable[0] = self;
20282 variable[1] = param0;
20283 variable[3] = NIT_NULL /*null*/;
20284 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20285 variable[4] = variable[5];
20286 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20287 variable[5] = variable[6];
20288 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20289 variable[6] = variable[7];
20290 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
20291 variable[7] = variable[8];
20292 variable[8] = variable[6] /*nodearraylist1*/;
20293 variable[9] = TAG_Bool(( variable[8] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
20294 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction289___action, LOCATE_parser, 11773); nit_exit(1);}
20295 variable[9] = variable[5] /*nodearraylist2*/;
20296 variable[10] = TAG_Bool(( variable[9] /*passignopnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*passignopnode4*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
20297 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction289___action, LOCATE_parser, 11775); nit_exit(1);}
20298 variable[10] = variable[4] /*nodearraylist3*/;
20299 variable[11] = TAG_Bool(( variable[10] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20300 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction289___action, LOCATE_parser, 11777); nit_exit(1);}
20301 variable[12] = NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr( variable[7] /*pexprnode2*/, variable[8] /*tattridnode3*/, variable[9] /*passignopnode4*/, variable[10] /*pexprnode5*/); /*new AAttrReassignExpr*/
20302 variable[11] = variable[12];
20303 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
20304 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(35)) /*Parser::go_to*/;
20305 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
20306 return_label610: while(false);
20307 tracehead = trace.prev;
20308 return;
20309 }
20310 void parser___ReduceAction289___init(val_t self, int* init_table) {
20311 struct trace_t trace = {NULL, NULL, 11787, LOCATE_parser___ReduceAction289___init};
20312 val_t variable[2];
20313 void **closurevariable = NULL;
20314 trace.prev = tracehead; tracehead = &trace;
20315 trace.file = LOCATE_parser;
20316 variable[0] = self;
20317 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction289].i]) return;
20318 return_label611: while(false);
20319 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction289].i] = 1;
20320 tracehead = trace.prev;
20321 return;
20322 }
20323 void parser___ReduceAction290___action(val_t self, val_t param0) {
20324 struct trace_t trace = {NULL, NULL, 11791, LOCATE_parser___ReduceAction290___action};
20325 val_t variable[19];
20326 void **closurevariable = NULL;
20327 trace.prev = tracehead; tracehead = &trace;
20328 trace.file = LOCATE_parser;
20329 variable[0] = self;
20330 variable[1] = param0;
20331 variable[3] = NIT_NULL /*null*/;
20332 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20333 variable[4] = variable[5];
20334 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20335 variable[5] = variable[6];
20336 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20337 variable[6] = variable[7];
20338 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20339 variable[7] = variable[8];
20340 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20341 variable[8] = variable[9];
20342 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20343 variable[9] = variable[10];
20344 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20345 variable[10] = variable[11];
20346 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20347 variable[11] = variable[12];
20348 variable[12] = variable[10] /*nodearraylist1*/;
20349 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20350 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction290___action, LOCATE_parser, 11803); nit_exit(1);}
20351 variable[13] = variable[7] /*nodearraylist4*/;
20352 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
20353 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction290___action, LOCATE_parser, 11805); nit_exit(1);}
20354 variable[14] = variable[6] /*nodearraylist5*/;
20355 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
20356 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction290___action, LOCATE_parser, 11807); nit_exit(1);}
20357 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20358 if (UNTAG_Bool(variable[15])) { /*if*/
20359 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode5*/)( variable[11] /*listnode5*/) /*AbstractArray::is_empty*/;
20360 if (UNTAG_Bool(variable[15])) { /*if*/
20361 variable[11] = variable[14] /*listnode4*/ /*listnode5=*/;
20362 } else { /*if*/
20363 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode5*/)( variable[11] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
20364 }
20365 }
20366 variable[15] = variable[5] /*nodearraylist6*/;
20367 variable[16] = TAG_Bool(( variable[15] /*passignopnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*passignopnode6*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
20368 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction290___action, LOCATE_parser, 11816); nit_exit(1);}
20369 variable[16] = variable[4] /*nodearraylist7*/;
20370 variable[17] = TAG_Bool(( variable[16] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20371 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction290___action, LOCATE_parser, 11818); nit_exit(1);}
20372 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*/
20373 variable[17] = variable[18];
20374 variable[3] = variable[17] /*pexprnode1*/ /*node_list=*/;
20375 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(35)) /*Parser::go_to*/;
20376 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
20377 return_label612: while(false);
20378 tracehead = trace.prev;
20379 return;
20380 }
20381 void parser___ReduceAction290___init(val_t self, int* init_table) {
20382 struct trace_t trace = {NULL, NULL, 11829, LOCATE_parser___ReduceAction290___init};
20383 val_t variable[2];
20384 void **closurevariable = NULL;
20385 trace.prev = tracehead; tracehead = &trace;
20386 trace.file = LOCATE_parser;
20387 variable[0] = self;
20388 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction290].i]) return;
20389 return_label613: while(false);
20390 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction290].i] = 1;
20391 tracehead = trace.prev;
20392 return;
20393 }
20394 void parser___ReduceAction291___action(val_t self, val_t param0) {
20395 struct trace_t trace = {NULL, NULL, 11833, LOCATE_parser___ReduceAction291___action};
20396 val_t variable[16];
20397 void **closurevariable = NULL;
20398 trace.prev = tracehead; tracehead = &trace;
20399 trace.file = LOCATE_parser;
20400 variable[0] = self;
20401 variable[1] = param0;
20402 variable[3] = NIT_NULL /*null*/;
20403 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20404 variable[4] = variable[5];
20405 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20406 variable[5] = variable[6];
20407 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20408 variable[6] = variable[7];
20409 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20410 variable[7] = variable[8];
20411 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20412 variable[8] = variable[9];
20413 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
20414 variable[9] = variable[10];
20415 variable[10] = variable[7] /*nodearraylist1*/;
20416 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
20417 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction291___action, LOCATE_parser, 11844); nit_exit(1);}
20418 variable[11] = variable[6] /*nodearraylist2*/;
20419 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
20420 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction291___action, LOCATE_parser, 11846); nit_exit(1);}
20421 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20422 if (UNTAG_Bool(variable[12])) { /*if*/
20423 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode5*/)( variable[8] /*listnode5*/) /*AbstractArray::is_empty*/;
20424 if (UNTAG_Bool(variable[12])) { /*if*/
20425 variable[8] = variable[11] /*listnode4*/ /*listnode5=*/;
20426 } else { /*if*/
20427 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode5*/)( variable[8] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
20428 }
20429 }
20430 variable[12] = variable[5] /*nodearraylist3*/;
20431 variable[13] = TAG_Bool(( variable[12] /*passignopnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*passignopnode6*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
20432 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction291___action, LOCATE_parser, 11855); nit_exit(1);}
20433 variable[13] = variable[4] /*nodearraylist4*/;
20434 variable[14] = TAG_Bool(( variable[13] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20435 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction291___action, LOCATE_parser, 11857); nit_exit(1);}
20436 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*/
20437 variable[14] = variable[15];
20438 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
20439 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(35)) /*Parser::go_to*/;
20440 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
20441 return_label614: while(false);
20442 tracehead = trace.prev;
20443 return;
20444 }
20445 void parser___ReduceAction291___init(val_t self, int* init_table) {
20446 struct trace_t trace = {NULL, NULL, 11868, LOCATE_parser___ReduceAction291___init};
20447 val_t variable[2];
20448 void **closurevariable = NULL;
20449 trace.prev = tracehead; tracehead = &trace;
20450 trace.file = LOCATE_parser;
20451 variable[0] = self;
20452 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction291].i]) return;
20453 return_label615: while(false);
20454 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction291].i] = 1;
20455 tracehead = trace.prev;
20456 return;
20457 }
20458 void parser___ReduceAction292___action(val_t self, val_t param0) {
20459 struct trace_t trace = {NULL, NULL, 11872, LOCATE_parser___ReduceAction292___action};
20460 val_t variable[15];
20461 void **closurevariable = NULL;
20462 trace.prev = tracehead; tracehead = &trace;
20463 trace.file = LOCATE_parser;
20464 variable[0] = self;
20465 variable[1] = param0;
20466 variable[3] = NIT_NULL /*null*/;
20467 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20468 variable[4] = variable[5];
20469 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20470 variable[5] = variable[6];
20471 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20472 variable[6] = variable[7];
20473 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20474 variable[7] = variable[8];
20475 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20476 variable[8] = variable[9];
20477 variable[9] = variable[7] /*nodearraylist1*/;
20478 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20479 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction292___action, LOCATE_parser, 11881); nit_exit(1);}
20480 variable[10] = variable[6] /*nodearraylist2*/;
20481 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
20482 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction292___action, LOCATE_parser, 11883); nit_exit(1);}
20483 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20484 if (UNTAG_Bool(variable[11])) { /*if*/
20485 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode4*/)( variable[8] /*listnode4*/) /*AbstractArray::is_empty*/;
20486 if (UNTAG_Bool(variable[11])) { /*if*/
20487 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
20488 } else { /*if*/
20489 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
20490 }
20491 }
20492 variable[11] = variable[5] /*nodearraylist3*/;
20493 variable[12] = TAG_Bool(( variable[11] /*passignopnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*passignopnode5*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
20494 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction292___action, LOCATE_parser, 11892); nit_exit(1);}
20495 variable[12] = variable[4] /*nodearraylist4*/;
20496 variable[13] = TAG_Bool(( variable[12] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20497 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction292___action, LOCATE_parser, 11894); nit_exit(1);}
20498 variable[14] = NEW_ABraReassignExpr_parser_prod___ABraReassignExpr___init_abrareassignexpr( variable[9] /*pexprnode2*/, variable[8] /*listnode4*/, variable[11] /*passignopnode5*/, variable[12] /*pexprnode6*/); /*new ABraReassignExpr*/
20499 variable[13] = variable[14];
20500 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
20501 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(35)) /*Parser::go_to*/;
20502 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
20503 return_label616: while(false);
20504 tracehead = trace.prev;
20505 return;
20506 }
20507 void parser___ReduceAction292___init(val_t self, int* init_table) {
20508 struct trace_t trace = {NULL, NULL, 11904, LOCATE_parser___ReduceAction292___init};
20509 val_t variable[2];
20510 void **closurevariable = NULL;
20511 trace.prev = tracehead; tracehead = &trace;
20512 trace.file = LOCATE_parser;
20513 variable[0] = self;
20514 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction292].i]) return;
20515 return_label617: while(false);
20516 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction292].i] = 1;
20517 tracehead = trace.prev;
20518 return;
20519 }
20520 void parser___ReduceAction293___action(val_t self, val_t param0) {
20521 struct trace_t trace = {NULL, NULL, 11908, LOCATE_parser___ReduceAction293___action};
20522 val_t variable[8];
20523 void **closurevariable = NULL;
20524 trace.prev = tracehead; tracehead = &trace;
20525 trace.file = LOCATE_parser;
20526 variable[0] = self;
20527 variable[1] = param0;
20528 variable[3] = NIT_NULL /*null*/;
20529 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20530 variable[4] = variable[5];
20531 variable[5] = variable[4] /*nodearraylist1*/;
20532 variable[6] = TAG_Bool(( variable[5] /*tpluseqnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tpluseqnode2*/, COLOR_TPluseq, ID_TPluseq)) /*cast TPluseq*/;
20533 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction293___action, LOCATE_parser, 11913); nit_exit(1);}
20534 variable[7] = NEW_APlusAssignOp_parser_prod___APlusAssignOp___init_aplusassignop( variable[5] /*tpluseqnode2*/); /*new APlusAssignOp*/
20535 variable[6] = variable[7];
20536 variable[3] = variable[6] /*passignopnode1*/ /*node_list=*/;
20537 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(36)) /*Parser::go_to*/;
20538 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
20539 return_label618: while(false);
20540 tracehead = trace.prev;
20541 return;
20542 }
20543 void parser___ReduceAction293___init(val_t self, int* init_table) {
20544 struct trace_t trace = {NULL, NULL, 11920, LOCATE_parser___ReduceAction293___init};
20545 val_t variable[2];
20546 void **closurevariable = NULL;
20547 trace.prev = tracehead; tracehead = &trace;
20548 trace.file = LOCATE_parser;
20549 variable[0] = self;
20550 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction293].i]) return;
20551 return_label619: while(false);
20552 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction293].i] = 1;
20553 tracehead = trace.prev;
20554 return;
20555 }
20556 void parser___ReduceAction294___action(val_t self, val_t param0) {
20557 struct trace_t trace = {NULL, NULL, 11924, LOCATE_parser___ReduceAction294___action};
20558 val_t variable[8];
20559 void **closurevariable = NULL;
20560 trace.prev = tracehead; tracehead = &trace;
20561 trace.file = LOCATE_parser;
20562 variable[0] = self;
20563 variable[1] = param0;
20564 variable[3] = NIT_NULL /*null*/;
20565 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20566 variable[4] = variable[5];
20567 variable[5] = variable[4] /*nodearraylist1*/;
20568 variable[6] = TAG_Bool(( variable[5] /*tminuseqnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tminuseqnode2*/, COLOR_TMinuseq, ID_TMinuseq)) /*cast TMinuseq*/;
20569 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction294___action, LOCATE_parser, 11929); nit_exit(1);}
20570 variable[7] = NEW_AMinusAssignOp_parser_prod___AMinusAssignOp___init_aminusassignop( variable[5] /*tminuseqnode2*/); /*new AMinusAssignOp*/
20571 variable[6] = variable[7];
20572 variable[3] = variable[6] /*passignopnode1*/ /*node_list=*/;
20573 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(36)) /*Parser::go_to*/;
20574 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
20575 return_label620: while(false);
20576 tracehead = trace.prev;
20577 return;
20578 }
20579 void parser___ReduceAction294___init(val_t self, int* init_table) {
20580 struct trace_t trace = {NULL, NULL, 11936, LOCATE_parser___ReduceAction294___init};
20581 val_t variable[2];
20582 void **closurevariable = NULL;
20583 trace.prev = tracehead; tracehead = &trace;
20584 trace.file = LOCATE_parser;
20585 variable[0] = self;
20586 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction294].i]) return;
20587 return_label621: while(false);
20588 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction294].i] = 1;
20589 tracehead = trace.prev;
20590 return;
20591 }
20592 void parser___ReduceAction295___action(val_t self, val_t param0) {
20593 struct trace_t trace = {NULL, NULL, 11940, LOCATE_parser___ReduceAction295___action};
20594 val_t variable[10];
20595 void **closurevariable = NULL;
20596 trace.prev = tracehead; tracehead = &trace;
20597 trace.file = LOCATE_parser;
20598 variable[0] = self;
20599 variable[1] = param0;
20600 variable[3] = NIT_NULL /*null*/;
20601 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20602 variable[4] = variable[5];
20603 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20604 variable[5] = variable[6];
20605 variable[6] = variable[5] /*nodearraylist1*/;
20606 variable[7] = TAG_Bool(( variable[6] /*tkwdonode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwdonode2*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
20607 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction295___action, LOCATE_parser, 11946); nit_exit(1);}
20608 variable[7] = variable[4] /*nodearraylist2*/;
20609 variable[8] = TAG_Bool(( variable[7] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20610 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction295___action, LOCATE_parser, 11948); nit_exit(1);}
20611 variable[9] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr( variable[6] /*tkwdonode2*/, variable[7] /*pexprnode3*/); /*new ADoExpr*/
20612 variable[8] = variable[9];
20613 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
20614 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(37)) /*Parser::go_to*/;
20615 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
20616 return_label622: while(false);
20617 tracehead = trace.prev;
20618 return;
20619 }
20620 void parser___ReduceAction295___init(val_t self, int* init_table) {
20621 struct trace_t trace = {NULL, NULL, 11956, LOCATE_parser___ReduceAction295___init};
20622 val_t variable[2];
20623 void **closurevariable = NULL;
20624 trace.prev = tracehead; tracehead = &trace;
20625 trace.file = LOCATE_parser;
20626 variable[0] = self;
20627 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction295].i]) return;
20628 return_label623: while(false);
20629 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction295].i] = 1;
20630 tracehead = trace.prev;
20631 return;
20632 }
20633 void parser___ReduceAction296___action(val_t self, val_t param0) {
20634 struct trace_t trace = {NULL, NULL, 11960, LOCATE_parser___ReduceAction296___action};
20635 val_t variable[18];
20636 void **closurevariable = NULL;
20637 trace.prev = tracehead; tracehead = &trace;
20638 trace.file = LOCATE_parser;
20639 variable[0] = self;
20640 variable[1] = param0;
20641 variable[3] = NIT_NULL /*null*/;
20642 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20643 variable[4] = variable[5];
20644 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20645 variable[5] = variable[6];
20646 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20647 variable[6] = variable[7];
20648 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20649 variable[7] = variable[8];
20650 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20651 variable[8] = variable[9];
20652 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20653 variable[9] = variable[10];
20654 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20655 variable[10] = variable[11];
20656 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20657 variable[11] = variable[12];
20658 variable[12] = variable[11] /*nodearraylist1*/;
20659 variable[13] = TAG_Bool(( variable[12] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
20660 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction296___action, LOCATE_parser, 11972); nit_exit(1);}
20661 variable[13] = variable[9] /*nodearraylist3*/;
20662 variable[14] = TAG_Bool(( variable[13] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20663 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction296___action, LOCATE_parser, 11974); nit_exit(1);}
20664 variable[14] = variable[6] /*nodearraylist6*/;
20665 variable[15] = TAG_Bool(( variable[14] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20666 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction296___action, LOCATE_parser, 11976); nit_exit(1);}
20667 variable[15] = variable[4] /*nodearraylist8*/;
20668 variable[16] = TAG_Bool(( variable[15] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20669 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction296___action, LOCATE_parser, 11978); nit_exit(1);}
20670 variable[17] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable[12] /*tkwifnode2*/, variable[13] /*pexprnode3*/, variable[14] /*pexprnode4*/, variable[15] /*pexprnode5*/); /*new AIfExpr*/
20671 variable[16] = variable[17];
20672 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
20673 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(38)) /*Parser::go_to*/;
20674 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
20675 return_label624: while(false);
20676 tracehead = trace.prev;
20677 return;
20678 }
20679 void parser___ReduceAction296___init(val_t self, int* init_table) {
20680 struct trace_t trace = {NULL, NULL, 11988, LOCATE_parser___ReduceAction296___init};
20681 val_t variable[2];
20682 void **closurevariable = NULL;
20683 trace.prev = tracehead; tracehead = &trace;
20684 trace.file = LOCATE_parser;
20685 variable[0] = self;
20686 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction296].i]) return;
20687 return_label625: while(false);
20688 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction296].i] = 1;
20689 tracehead = trace.prev;
20690 return;
20691 }
20692 void parser___ReduceAction297___action(val_t self, val_t param0) {
20693 struct trace_t trace = {NULL, NULL, 11992, LOCATE_parser___ReduceAction297___action};
20694 val_t variable[15];
20695 void **closurevariable = NULL;
20696 trace.prev = tracehead; tracehead = &trace;
20697 trace.file = LOCATE_parser;
20698 variable[0] = self;
20699 variable[1] = param0;
20700 variable[3] = NIT_NULL /*null*/;
20701 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20702 variable[4] = variable[5];
20703 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20704 variable[5] = variable[6];
20705 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20706 variable[6] = variable[7];
20707 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20708 variable[7] = variable[8];
20709 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20710 variable[8] = variable[9];
20711 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20712 variable[9] = variable[10];
20713 variable[10] = variable[9] /*nodearraylist1*/;
20714 variable[11] = TAG_Bool(( variable[10] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
20715 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction297___action, LOCATE_parser, 12002); nit_exit(1);}
20716 variable[11] = variable[7] /*nodearraylist3*/;
20717 variable[12] = TAG_Bool(( variable[11] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20718 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction297___action, LOCATE_parser, 12004); nit_exit(1);}
20719 variable[12] = variable[4] /*nodearraylist6*/;
20720 variable[13] = TAG_Bool(( variable[12] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20721 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction297___action, LOCATE_parser, 12006); nit_exit(1);}
20722 variable[14] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable[10] /*tkwifnode2*/, variable[11] /*pexprnode3*/, variable[12] /*pexprnode4*/, NIT_NULL /*null*/); /*new AIfExpr*/
20723 variable[13] = variable[14];
20724 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
20725 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(38)) /*Parser::go_to*/;
20726 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
20727 return_label626: while(false);
20728 tracehead = trace.prev;
20729 return;
20730 }
20731 void parser___ReduceAction297___init(val_t self, int* init_table) {
20732 struct trace_t trace = {NULL, NULL, 12016, LOCATE_parser___ReduceAction297___init};
20733 val_t variable[2];
20734 void **closurevariable = NULL;
20735 trace.prev = tracehead; tracehead = &trace;
20736 trace.file = LOCATE_parser;
20737 variable[0] = self;
20738 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction297].i]) return;
20739 return_label627: while(false);
20740 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction297].i] = 1;
20741 tracehead = trace.prev;
20742 return;
20743 }
20744 void parser___ReduceAction298___action(val_t self, val_t param0) {
20745 struct trace_t trace = {NULL, NULL, 12020, LOCATE_parser___ReduceAction298___action};
20746 val_t variable[21];
20747 void **closurevariable = NULL;
20748 trace.prev = tracehead; tracehead = &trace;
20749 trace.file = LOCATE_parser;
20750 variable[0] = self;
20751 variable[1] = param0;
20752 variable[3] = NIT_NULL /*null*/;
20753 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20754 variable[4] = variable[5];
20755 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20756 variable[5] = variable[6];
20757 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20758 variable[6] = variable[7];
20759 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20760 variable[7] = variable[8];
20761 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20762 variable[8] = variable[9];
20763 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20764 variable[9] = variable[10];
20765 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20766 variable[10] = variable[11];
20767 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20768 variable[11] = variable[12];
20769 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20770 variable[12] = variable[13];
20771 variable[13] = variable[12] /*nodearraylist1*/;
20772 variable[14] = TAG_Bool(( variable[13] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
20773 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction298___action, LOCATE_parser, 12033); nit_exit(1);}
20774 variable[14] = variable[10] /*nodearraylist3*/;
20775 variable[15] = TAG_Bool(( variable[14] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20776 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction298___action, LOCATE_parser, 12035); nit_exit(1);}
20777 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20778 variable[15] = variable[16];
20779 variable[16] = variable[6] /*nodearraylist7*/;
20780 variable[17] = TAG_Bool(( variable[16] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20781 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction298___action, LOCATE_parser, 12038); nit_exit(1);}
20782 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*pexprnode5*/ == NIT_NULL /*null*/) || (( variable[16] /*pexprnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[16] /*pexprnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*pexprnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[16] /*pexprnode5*/)( variable[16] /*pexprnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20783 if (UNTAG_Bool(variable[17])) { /*if*/
20784 CALL_abstract_collection___SimpleCollection___add( variable[15] /*listnode6*/)( variable[15] /*listnode6*/, variable[16] /*pexprnode5*/) /*AbstractArray::add*/;
20785 }
20786 variable[18] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[15] /*listnode6*/); /*new ABlockExpr*/
20787 variable[17] = variable[18];
20788 variable[18] = variable[4] /*nodearraylist9*/;
20789 variable[19] = TAG_Bool(( variable[18] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20790 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction298___action, LOCATE_parser, 12046); nit_exit(1);}
20791 variable[20] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable[13] /*tkwifnode2*/, variable[14] /*pexprnode3*/, variable[17] /*pexprnode4*/, variable[18] /*pexprnode7*/); /*new AIfExpr*/
20792 variable[19] = variable[20];
20793 variable[3] = variable[19] /*pexprnode1*/ /*node_list=*/;
20794 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(38)) /*Parser::go_to*/;
20795 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
20796 return_label628: while(false);
20797 tracehead = trace.prev;
20798 return;
20799 }
20800 void parser___ReduceAction298___init(val_t self, int* init_table) {
20801 struct trace_t trace = {NULL, NULL, 12056, LOCATE_parser___ReduceAction298___init};
20802 val_t variable[2];
20803 void **closurevariable = NULL;
20804 trace.prev = tracehead; tracehead = &trace;
20805 trace.file = LOCATE_parser;
20806 variable[0] = self;
20807 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction298].i]) return;
20808 return_label629: while(false);
20809 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction298].i] = 1;
20810 tracehead = trace.prev;
20811 return;
20812 }
20813 void parser___ReduceAction299___action(val_t self, val_t param0) {
20814 struct trace_t trace = {NULL, NULL, 12060, LOCATE_parser___ReduceAction299___action};
20815 val_t variable[23];
20816 void **closurevariable = NULL;
20817 trace.prev = tracehead; tracehead = &trace;
20818 trace.file = LOCATE_parser;
20819 variable[0] = self;
20820 variable[1] = param0;
20821 variable[3] = NIT_NULL /*null*/;
20822 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20823 variable[4] = variable[5];
20824 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20825 variable[5] = variable[6];
20826 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20827 variable[6] = variable[7];
20828 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20829 variable[7] = variable[8];
20830 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20831 variable[8] = variable[9];
20832 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20833 variable[9] = variable[10];
20834 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20835 variable[10] = variable[11];
20836 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20837 variable[11] = variable[12];
20838 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20839 variable[12] = variable[13];
20840 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20841 variable[13] = variable[14];
20842 variable[14] = variable[13] /*nodearraylist1*/;
20843 variable[15] = TAG_Bool(( variable[14] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
20844 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction299___action, LOCATE_parser, 12074); nit_exit(1);}
20845 variable[15] = variable[11] /*nodearraylist3*/;
20846 variable[16] = TAG_Bool(( variable[15] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20847 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction299___action, LOCATE_parser, 12076); nit_exit(1);}
20848 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20849 variable[16] = variable[17];
20850 variable[17] = variable[7] /*nodearraylist7*/;
20851 variable[18] = TAG_Bool(( variable[17] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20852 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction299___action, LOCATE_parser, 12079); nit_exit(1);}
20853 variable[18] = variable[6] /*nodearraylist8*/;
20854 variable[19] = TAG_Bool(( variable[18] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
20855 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction299___action, LOCATE_parser, 12081); nit_exit(1);}
20856 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*pexprnode5*/ == NIT_NULL /*null*/) || (( variable[17] /*pexprnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[17] /*pexprnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*pexprnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[17] /*pexprnode5*/)( variable[17] /*pexprnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20857 if (UNTAG_Bool(variable[19])) { /*if*/
20858 CALL_abstract_collection___SimpleCollection___add( variable[16] /*listnode7*/)( variable[16] /*listnode7*/, variable[17] /*pexprnode5*/) /*AbstractArray::add*/;
20859 }
20860 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[18] /*listnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[18] /*listnode6*/)( variable[18] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20861 if (UNTAG_Bool(variable[19])) { /*if*/
20862 variable[19] = CALL_abstract_collection___Collection___is_empty( variable[16] /*listnode7*/)( variable[16] /*listnode7*/) /*AbstractArray::is_empty*/;
20863 if (UNTAG_Bool(variable[19])) { /*if*/
20864 variable[16] = variable[18] /*listnode6*/ /*listnode7=*/;
20865 } else { /*if*/
20866 CALL_abstract_collection___IndexedCollection___append( variable[16] /*listnode7*/)( variable[16] /*listnode7*/, variable[18] /*listnode6*/) /*IndexedCollection::append*/;
20867 }
20868 }
20869 variable[20] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[16] /*listnode7*/); /*new ABlockExpr*/
20870 variable[19] = variable[20];
20871 variable[20] = variable[4] /*nodearraylist10*/;
20872 variable[21] = TAG_Bool(( variable[20] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20873 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction299___action, LOCATE_parser, 12096); nit_exit(1);}
20874 variable[22] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable[14] /*tkwifnode2*/, variable[15] /*pexprnode3*/, variable[19] /*pexprnode4*/, variable[20] /*pexprnode8*/); /*new AIfExpr*/
20875 variable[21] = variable[22];
20876 variable[3] = variable[21] /*pexprnode1*/ /*node_list=*/;
20877 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(38)) /*Parser::go_to*/;
20878 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
20879 return_label630: while(false);
20880 tracehead = trace.prev;
20881 return;
20882 }
20883 void parser___ReduceAction299___init(val_t self, int* init_table) {
20884 struct trace_t trace = {NULL, NULL, 12106, LOCATE_parser___ReduceAction299___init};
20885 val_t variable[2];
20886 void **closurevariable = NULL;
20887 trace.prev = tracehead; tracehead = &trace;
20888 trace.file = LOCATE_parser;
20889 variable[0] = self;
20890 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction299].i]) return;
20891 return_label631: while(false);
20892 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction299].i] = 1;
20893 tracehead = trace.prev;
20894 return;
20895 }
20896 void parser___ReduceAction300___action(val_t self, val_t param0) {
20897 struct trace_t trace = {NULL, NULL, 12110, LOCATE_parser___ReduceAction300___action};
20898 val_t variable[15];
20899 void **closurevariable = NULL;
20900 trace.prev = tracehead; tracehead = &trace;
20901 trace.file = LOCATE_parser;
20902 variable[0] = self;
20903 variable[1] = param0;
20904 variable[3] = NIT_NULL /*null*/;
20905 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20906 variable[4] = variable[5];
20907 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20908 variable[5] = variable[6];
20909 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20910 variable[6] = variable[7];
20911 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20912 variable[7] = variable[8];
20913 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20914 variable[8] = variable[9];
20915 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20916 variable[9] = variable[10];
20917 variable[10] = variable[9] /*nodearraylist1*/;
20918 variable[11] = TAG_Bool(( variable[10] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
20919 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction300___action, LOCATE_parser, 12120); nit_exit(1);}
20920 variable[11] = variable[7] /*nodearraylist3*/;
20921 variable[12] = TAG_Bool(( variable[11] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20922 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction300___action, LOCATE_parser, 12122); nit_exit(1);}
20923 variable[12] = variable[4] /*nodearraylist6*/;
20924 variable[13] = TAG_Bool(( variable[12] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20925 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction300___action, LOCATE_parser, 12124); nit_exit(1);}
20926 variable[14] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable[10] /*tkwifnode2*/, variable[11] /*pexprnode3*/, NIT_NULL /*null*/, variable[12] /*pexprnode5*/); /*new AIfExpr*/
20927 variable[13] = variable[14];
20928 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
20929 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(38)) /*Parser::go_to*/;
20930 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
20931 return_label632: while(false);
20932 tracehead = trace.prev;
20933 return;
20934 }
20935 void parser___ReduceAction300___init(val_t self, int* init_table) {
20936 struct trace_t trace = {NULL, NULL, 12134, LOCATE_parser___ReduceAction300___init};
20937 val_t variable[2];
20938 void **closurevariable = NULL;
20939 trace.prev = tracehead; tracehead = &trace;
20940 trace.file = LOCATE_parser;
20941 variable[0] = self;
20942 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction300].i]) return;
20943 return_label633: while(false);
20944 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction300].i] = 1;
20945 tracehead = trace.prev;
20946 return;
20947 }
20948 void parser___ReduceAction301___action(val_t self, val_t param0) {
20949 struct trace_t trace = {NULL, NULL, 12138, LOCATE_parser___ReduceAction301___action};
20950 val_t variable[16];
20951 void **closurevariable = NULL;
20952 trace.prev = tracehead; tracehead = &trace;
20953 trace.file = LOCATE_parser;
20954 variable[0] = self;
20955 variable[1] = param0;
20956 variable[3] = NIT_NULL /*null*/;
20957 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20958 variable[4] = variable[5];
20959 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20960 variable[5] = variable[6];
20961 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20962 variable[6] = variable[7];
20963 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20964 variable[7] = variable[8];
20965 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20966 variable[8] = variable[9];
20967 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20968 variable[9] = variable[10];
20969 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20970 variable[10] = variable[11];
20971 variable[11] = variable[10] /*nodearraylist1*/;
20972 variable[12] = TAG_Bool(( variable[11] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
20973 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction301___action, LOCATE_parser, 12149); nit_exit(1);}
20974 variable[12] = variable[8] /*nodearraylist3*/;
20975 variable[13] = TAG_Bool(( variable[12] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20976 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction301___action, LOCATE_parser, 12151); nit_exit(1);}
20977 variable[13] = variable[4] /*nodearraylist7*/;
20978 variable[14] = TAG_Bool(( variable[13] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20979 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction301___action, LOCATE_parser, 12153); nit_exit(1);}
20980 variable[15] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable[11] /*tkwifnode2*/, variable[12] /*pexprnode3*/, NIT_NULL /*null*/, variable[13] /*pexprnode5*/); /*new AIfExpr*/
20981 variable[14] = variable[15];
20982 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
20983 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(38)) /*Parser::go_to*/;
20984 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
20985 return_label634: while(false);
20986 tracehead = trace.prev;
20987 return;
20988 }
20989 void parser___ReduceAction301___init(val_t self, int* init_table) {
20990 struct trace_t trace = {NULL, NULL, 12163, LOCATE_parser___ReduceAction301___init};
20991 val_t variable[2];
20992 void **closurevariable = NULL;
20993 trace.prev = tracehead; tracehead = &trace;
20994 trace.file = LOCATE_parser;
20995 variable[0] = self;
20996 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction301].i]) return;
20997 return_label635: while(false);
20998 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction301].i] = 1;
20999 tracehead = trace.prev;
21000 return;
21001 }
21002 void parser___ReduceAction302___action(val_t self, val_t param0) {
21003 struct trace_t trace = {NULL, NULL, 12167, LOCATE_parser___ReduceAction302___action};
21004 val_t variable[8];
21005 void **closurevariable = NULL;
21006 trace.prev = tracehead; tracehead = &trace;
21007 trace.file = LOCATE_parser;
21008 variable[0] = self;
21009 variable[1] = param0;
21010 variable[3] = NIT_NULL /*null*/;
21011 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21012 variable[4] = variable[5];
21013 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21014 variable[5] = variable[6];
21015 variable[6] = variable[4] /*nodearraylist2*/;
21016 variable[7] = TAG_Bool(( variable[6] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21017 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction302___action, LOCATE_parser, 12173); nit_exit(1);}
21018 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
21019 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(39)) /*Parser::go_to*/;
21020 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
21021 return_label636: while(false);
21022 tracehead = trace.prev;
21023 return;
21024 }
21025 void parser___ReduceAction302___init(val_t self, int* init_table) {
21026 struct trace_t trace = {NULL, NULL, 12177, LOCATE_parser___ReduceAction302___init};
21027 val_t variable[2];
21028 void **closurevariable = NULL;
21029 trace.prev = tracehead; tracehead = &trace;
21030 trace.file = LOCATE_parser;
21031 variable[0] = self;
21032 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction302].i]) return;
21033 return_label637: while(false);
21034 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction302].i] = 1;
21035 tracehead = trace.prev;
21036 return;
21037 }
21038 void parser___ReduceAction303___action(val_t self, val_t param0) {
21039 struct trace_t trace = {NULL, NULL, 12181, LOCATE_parser___ReduceAction303___action};
21040 val_t variable[6];
21041 void **closurevariable = NULL;
21042 trace.prev = tracehead; tracehead = &trace;
21043 trace.file = LOCATE_parser;
21044 variable[0] = self;
21045 variable[1] = param0;
21046 variable[3] = NIT_NULL /*null*/;
21047 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21048 variable[4] = variable[5];
21049 variable[3] = NIT_NULL /*null*/ /*node_list=*/;
21050 variable[5] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(39)) /*Parser::go_to*/;
21051 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
21052 return_label638: while(false);
21053 tracehead = trace.prev;
21054 return;
21055 }
21056 void parser___ReduceAction303___init(val_t self, int* init_table) {
21057 struct trace_t trace = {NULL, NULL, 12188, LOCATE_parser___ReduceAction303___init};
21058 val_t variable[2];
21059 void **closurevariable = NULL;
21060 trace.prev = tracehead; tracehead = &trace;
21061 trace.file = LOCATE_parser;
21062 variable[0] = self;
21063 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction303].i]) return;
21064 return_label639: while(false);
21065 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction303].i] = 1;
21066 tracehead = trace.prev;
21067 return;
21068 }
21069 void parser___ReduceAction304___action(val_t self, val_t param0) {
21070 struct trace_t trace = {NULL, NULL, 12192, LOCATE_parser___ReduceAction304___action};
21071 val_t variable[16];
21072 void **closurevariable = NULL;
21073 trace.prev = tracehead; tracehead = &trace;
21074 trace.file = LOCATE_parser;
21075 variable[0] = self;
21076 variable[1] = param0;
21077 variable[3] = NIT_NULL /*null*/;
21078 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21079 variable[4] = variable[5];
21080 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21081 variable[5] = variable[6];
21082 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21083 variable[6] = variable[7];
21084 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21085 variable[7] = variable[8];
21086 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21087 variable[8] = variable[9];
21088 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21089 variable[9] = variable[10];
21090 variable[10] = variable[9] /*nodearraylist1*/;
21091 variable[11] = TAG_Bool(( variable[10] /*tkwwhilenode2*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwwhilenode2*/, COLOR_TKwwhile, ID_TKwwhile)) /*cast TKwwhile*/;
21092 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction304___action, LOCATE_parser, 12202); nit_exit(1);}
21093 variable[11] = variable[7] /*nodearraylist3*/;
21094 variable[12] = TAG_Bool(( variable[11] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21095 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction304___action, LOCATE_parser, 12204); nit_exit(1);}
21096 variable[12] = variable[5] /*nodearraylist5*/;
21097 variable[13] = TAG_Bool(( variable[12] /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
21098 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction304___action, LOCATE_parser, 12206); nit_exit(1);}
21099 variable[13] = variable[4] /*nodearraylist6*/;
21100 variable[14] = TAG_Bool(( variable[13] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21101 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction304___action, LOCATE_parser, 12208); nit_exit(1);}
21102 variable[15] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr( variable[10] /*tkwwhilenode2*/, variable[11] /*pexprnode3*/, variable[12] /*tkwdonode4*/, variable[13] /*pexprnode5*/); /*new AWhileExpr*/
21103 variable[14] = variable[15];
21104 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
21105 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(40)) /*Parser::go_to*/;
21106 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
21107 return_label640: while(false);
21108 tracehead = trace.prev;
21109 return;
21110 }
21111 void parser___ReduceAction304___init(val_t self, int* init_table) {
21112 struct trace_t trace = {NULL, NULL, 12218, LOCATE_parser___ReduceAction304___init};
21113 val_t variable[2];
21114 void **closurevariable = NULL;
21115 trace.prev = tracehead; tracehead = &trace;
21116 trace.file = LOCATE_parser;
21117 variable[0] = self;
21118 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction304].i]) return;
21119 return_label641: while(false);
21120 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction304].i] = 1;
21121 tracehead = trace.prev;
21122 return;
21123 }
21124 void parser___ReduceAction305___action(val_t self, val_t param0) {
21125 struct trace_t trace = {NULL, NULL, 12222, LOCATE_parser___ReduceAction305___action};
21126 val_t variable[13];
21127 void **closurevariable = NULL;
21128 trace.prev = tracehead; tracehead = &trace;
21129 trace.file = LOCATE_parser;
21130 variable[0] = self;
21131 variable[1] = param0;
21132 variable[3] = NIT_NULL /*null*/;
21133 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21134 variable[4] = variable[5];
21135 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21136 variable[5] = variable[6];
21137 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21138 variable[6] = variable[7];
21139 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21140 variable[7] = variable[8];
21141 variable[8] = variable[7] /*nodearraylist1*/;
21142 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21143 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction305___action, LOCATE_parser, 12230); nit_exit(1);}
21144 variable[9] = variable[5] /*nodearraylist3*/;
21145 variable[10] = TAG_Bool(( variable[9] /*tkwdonode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwdonode3*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
21146 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction305___action, LOCATE_parser, 12232); nit_exit(1);}
21147 variable[10] = variable[4] /*nodearraylist4*/;
21148 variable[11] = TAG_Bool(( variable[10] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21149 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction305___action, LOCATE_parser, 12234); nit_exit(1);}
21150 variable[12] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr( variable[8] /*pexprnode2*/, variable[9] /*tkwdonode3*/, variable[10] /*pexprnode4*/); /*new AForExpr*/
21151 variable[11] = variable[12];
21152 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
21153 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(41)) /*Parser::go_to*/;
21154 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
21155 return_label642: while(false);
21156 tracehead = trace.prev;
21157 return;
21158 }
21159 void parser___ReduceAction305___init(val_t self, int* init_table) {
21160 struct trace_t trace = {NULL, NULL, 12243, LOCATE_parser___ReduceAction305___init};
21161 val_t variable[2];
21162 void **closurevariable = NULL;
21163 trace.prev = tracehead; tracehead = &trace;
21164 trace.file = LOCATE_parser;
21165 variable[0] = self;
21166 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction305].i]) return;
21167 return_label643: while(false);
21168 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction305].i] = 1;
21169 tracehead = trace.prev;
21170 return;
21171 }
21172 void parser___ReduceAction306___action(val_t self, val_t param0) {
21173 struct trace_t trace = {NULL, NULL, 12247, LOCATE_parser___ReduceAction306___action};
21174 val_t variable[16];
21175 void **closurevariable = NULL;
21176 trace.prev = tracehead; tracehead = &trace;
21177 trace.file = LOCATE_parser;
21178 variable[0] = self;
21179 variable[1] = param0;
21180 variable[3] = NIT_NULL /*null*/;
21181 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21182 variable[4] = variable[5];
21183 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21184 variable[5] = variable[6];
21185 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21186 variable[6] = variable[7];
21187 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21188 variable[7] = variable[8];
21189 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21190 variable[8] = variable[9];
21191 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21192 variable[9] = variable[10];
21193 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21194 variable[10] = variable[11];
21195 variable[11] = variable[10] /*nodearraylist1*/;
21196 variable[12] = TAG_Bool(( variable[11] /*tkwfornode2*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwfornode2*/, COLOR_TKwfor, ID_TKwfor)) /*cast TKwfor*/;
21197 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction306___action, LOCATE_parser, 12258); nit_exit(1);}
21198 variable[12] = variable[8] /*nodearraylist3*/;
21199 variable[13] = TAG_Bool(( variable[12] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
21200 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction306___action, LOCATE_parser, 12260); nit_exit(1);}
21201 variable[13] = variable[4] /*nodearraylist7*/;
21202 variable[14] = TAG_Bool(( variable[13] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21203 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction306___action, LOCATE_parser, 12262); nit_exit(1);}
21204 variable[15] = NEW_AForVardeclExpr_parser_prod___AForVardeclExpr___init_aforvardeclexpr( variable[11] /*tkwfornode2*/, variable[12] /*tidnode3*/, variable[13] /*pexprnode4*/); /*new AForVardeclExpr*/
21205 variable[14] = variable[15];
21206 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
21207 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(42)) /*Parser::go_to*/;
21208 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
21209 return_label644: while(false);
21210 tracehead = trace.prev;
21211 return;
21212 }
21213 void parser___ReduceAction306___init(val_t self, int* init_table) {
21214 struct trace_t trace = {NULL, NULL, 12271, LOCATE_parser___ReduceAction306___init};
21215 val_t variable[2];
21216 void **closurevariable = NULL;
21217 trace.prev = tracehead; tracehead = &trace;
21218 trace.file = LOCATE_parser;
21219 variable[0] = self;
21220 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction306].i]) return;
21221 return_label645: while(false);
21222 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction306].i] = 1;
21223 tracehead = trace.prev;
21224 return;
21225 }
21226 void parser___ReduceAction307___action(val_t self, val_t param0) {
21227 struct trace_t trace = {NULL, NULL, 12275, LOCATE_parser___ReduceAction307___action};
21228 val_t variable[10];
21229 void **closurevariable = NULL;
21230 trace.prev = tracehead; tracehead = &trace;
21231 trace.file = LOCATE_parser;
21232 variable[0] = self;
21233 variable[1] = param0;
21234 variable[3] = NIT_NULL /*null*/;
21235 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21236 variable[4] = variable[5];
21237 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21238 variable[5] = variable[6];
21239 variable[6] = variable[5] /*nodearraylist1*/;
21240 variable[7] = TAG_Bool(( variable[6] /*tkwassertnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwassertnode2*/, COLOR_TKwassert, ID_TKwassert)) /*cast TKwassert*/;
21241 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction307___action, LOCATE_parser, 12281); nit_exit(1);}
21242 variable[7] = variable[4] /*nodearraylist2*/;
21243 variable[8] = TAG_Bool(( variable[7] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21244 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction307___action, LOCATE_parser, 12283); nit_exit(1);}
21245 variable[9] = NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr( variable[6] /*tkwassertnode2*/, NIT_NULL /*null*/, variable[7] /*pexprnode4*/); /*new AAssertExpr*/
21246 variable[8] = variable[9];
21247 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
21248 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(43)) /*Parser::go_to*/;
21249 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
21250 return_label646: while(false);
21251 tracehead = trace.prev;
21252 return;
21253 }
21254 void parser___ReduceAction307___init(val_t self, int* init_table) {
21255 struct trace_t trace = {NULL, NULL, 12292, LOCATE_parser___ReduceAction307___init};
21256 val_t variable[2];
21257 void **closurevariable = NULL;
21258 trace.prev = tracehead; tracehead = &trace;
21259 trace.file = LOCATE_parser;
21260 variable[0] = self;
21261 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction307].i]) return;
21262 return_label647: while(false);
21263 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction307].i] = 1;
21264 tracehead = trace.prev;
21265 return;
21266 }
21267 void parser___ReduceAction308___action(val_t self, val_t param0) {
21268 struct trace_t trace = {NULL, NULL, 12296, LOCATE_parser___ReduceAction308___action};
21269 val_t variable[12];
21270 void **closurevariable = NULL;
21271 trace.prev = tracehead; tracehead = &trace;
21272 trace.file = LOCATE_parser;
21273 variable[0] = self;
21274 variable[1] = param0;
21275 variable[3] = NIT_NULL /*null*/;
21276 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21277 variable[4] = variable[5];
21278 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21279 variable[5] = variable[6];
21280 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21281 variable[6] = variable[7];
21282 variable[7] = variable[6] /*nodearraylist1*/;
21283 variable[8] = TAG_Bool(( variable[7] /*tkwassertnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwassertnode2*/, COLOR_TKwassert, ID_TKwassert)) /*cast TKwassert*/;
21284 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction308___action, LOCATE_parser, 12303); nit_exit(1);}
21285 variable[8] = variable[5] /*nodearraylist2*/;
21286 variable[9] = TAG_Bool(( variable[8] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
21287 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction308___action, LOCATE_parser, 12305); nit_exit(1);}
21288 variable[9] = variable[4] /*nodearraylist3*/;
21289 variable[10] = TAG_Bool(( variable[9] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21290 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction308___action, LOCATE_parser, 12307); nit_exit(1);}
21291 variable[11] = NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr( variable[7] /*tkwassertnode2*/, variable[8] /*tidnode3*/, variable[9] /*pexprnode4*/); /*new AAssertExpr*/
21292 variable[10] = variable[11];
21293 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
21294 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(43)) /*Parser::go_to*/;
21295 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
21296 return_label648: while(false);
21297 tracehead = trace.prev;
21298 return;
21299 }
21300 void parser___ReduceAction308___init(val_t self, int* init_table) {
21301 struct trace_t trace = {NULL, NULL, 12316, LOCATE_parser___ReduceAction308___init};
21302 val_t variable[2];
21303 void **closurevariable = NULL;
21304 trace.prev = tracehead; tracehead = &trace;
21305 trace.file = LOCATE_parser;
21306 variable[0] = self;
21307 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction308].i]) return;
21308 return_label649: while(false);
21309 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction308].i] = 1;
21310 tracehead = trace.prev;
21311 return;
21312 }
21313 void parser___ReduceAction309___action(val_t self, val_t param0) {
21314 struct trace_t trace = {NULL, NULL, 12320, LOCATE_parser___ReduceAction309___action};
21315 val_t variable[8];
21316 void **closurevariable = NULL;
21317 trace.prev = tracehead; tracehead = &trace;
21318 trace.file = LOCATE_parser;
21319 variable[0] = self;
21320 variable[1] = param0;
21321 variable[3] = NIT_NULL /*null*/;
21322 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21323 variable[4] = variable[5];
21324 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21325 variable[5] = variable[6];
21326 variable[6] = variable[5] /*nodearraylist1*/;
21327 variable[7] = TAG_Bool(( variable[6] /*tidnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*tidnode1*/, COLOR_TId, ID_TId)) /*cast TId*/;
21328 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction309___action, LOCATE_parser, 12326); nit_exit(1);}
21329 variable[3] = variable[6] /*tidnode1*/ /*node_list=*/;
21330 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(44)) /*Parser::go_to*/;
21331 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
21332 return_label650: while(false);
21333 tracehead = trace.prev;
21334 return;
21335 }
21336 void parser___ReduceAction309___init(val_t self, int* init_table) {
21337 struct trace_t trace = {NULL, NULL, 12330, LOCATE_parser___ReduceAction309___init};
21338 val_t variable[2];
21339 void **closurevariable = NULL;
21340 trace.prev = tracehead; tracehead = &trace;
21341 trace.file = LOCATE_parser;
21342 variable[0] = self;
21343 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction309].i]) return;
21344 return_label651: while(false);
21345 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction309].i] = 1;
21346 tracehead = trace.prev;
21347 return;
21348 }
21349 void parser___ReduceAction310___action(val_t self, val_t param0) {
21350 struct trace_t trace = {NULL, NULL, 12334, LOCATE_parser___ReduceAction310___action};
21351 val_t variable[7];
21352 void **closurevariable = NULL;
21353 trace.prev = tracehead; tracehead = &trace;
21354 trace.file = LOCATE_parser;
21355 variable[0] = self;
21356 variable[1] = param0;
21357 variable[3] = NIT_NULL /*null*/;
21358 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21359 variable[4] = variable[5];
21360 variable[5] = variable[4] /*nodearraylist1*/;
21361 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21362 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction310___action, LOCATE_parser, 12339); nit_exit(1);}
21363 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
21364 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(45)) /*Parser::go_to*/;
21365 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
21366 return_label652: while(false);
21367 tracehead = trace.prev;
21368 return;
21369 }
21370 void parser___ReduceAction310___init(val_t self, int* init_table) {
21371 struct trace_t trace = {NULL, NULL, 12343, LOCATE_parser___ReduceAction310___init};
21372 val_t variable[2];
21373 void **closurevariable = NULL;
21374 trace.prev = tracehead; tracehead = &trace;
21375 trace.file = LOCATE_parser;
21376 variable[0] = self;
21377 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction310].i]) return;
21378 return_label653: while(false);
21379 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction310].i] = 1;
21380 tracehead = trace.prev;
21381 return;
21382 }
21383 void parser___ReduceAction311___action(val_t self, val_t param0) {
21384 struct trace_t trace = {NULL, NULL, 12347, LOCATE_parser___ReduceAction311___action};
21385 val_t variable[18];
21386 void **closurevariable = NULL;
21387 trace.prev = tracehead; tracehead = &trace;
21388 trace.file = LOCATE_parser;
21389 variable[0] = self;
21390 variable[1] = param0;
21391 variable[3] = NIT_NULL /*null*/;
21392 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21393 variable[4] = variable[5];
21394 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21395 variable[5] = variable[6];
21396 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21397 variable[6] = variable[7];
21398 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21399 variable[7] = variable[8];
21400 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21401 variable[8] = variable[9];
21402 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21403 variable[9] = variable[10];
21404 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21405 variable[10] = variable[11];
21406 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21407 variable[11] = variable[12];
21408 variable[12] = variable[9] /*nodearraylist1*/;
21409 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21410 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction311___action, LOCATE_parser, 12359); nit_exit(1);}
21411 variable[13] = variable[6] /*nodearraylist4*/;
21412 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
21413 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction311___action, LOCATE_parser, 12361); nit_exit(1);}
21414 variable[14] = variable[5] /*nodearraylist5*/;
21415 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
21416 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction311___action, LOCATE_parser, 12363); nit_exit(1);}
21417 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
21418 if (UNTAG_Bool(variable[15])) { /*if*/
21419 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode5*/)( variable[10] /*listnode5*/) /*AbstractArray::is_empty*/;
21420 if (UNTAG_Bool(variable[15])) { /*if*/
21421 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
21422 } else { /*if*/
21423 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode5*/)( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
21424 }
21425 }
21426 variable[15] = variable[4] /*nodearraylist6*/;
21427 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
21428 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction311___action, LOCATE_parser, 12372); nit_exit(1);}
21429 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*listnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*listnode6*/)( variable[15] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
21430 if (UNTAG_Bool(variable[16])) { /*if*/
21431 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode7*/)( variable[11] /*listnode7*/) /*AbstractArray::is_empty*/;
21432 if (UNTAG_Bool(variable[16])) { /*if*/
21433 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
21434 } else { /*if*/
21435 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
21436 }
21437 }
21438 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/); /*new ACallExpr*/
21439 variable[16] = variable[17];
21440 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
21441 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(45)) /*Parser::go_to*/;
21442 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
21443 return_label654: while(false);
21444 tracehead = trace.prev;
21445 return;
21446 }
21447 void parser___ReduceAction311___init(val_t self, int* init_table) {
21448 struct trace_t trace = {NULL, NULL, 12389, LOCATE_parser___ReduceAction311___init};
21449 val_t variable[2];
21450 void **closurevariable = NULL;
21451 trace.prev = tracehead; tracehead = &trace;
21452 trace.file = LOCATE_parser;
21453 variable[0] = self;
21454 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction311].i]) return;
21455 return_label655: while(false);
21456 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction311].i] = 1;
21457 tracehead = trace.prev;
21458 return;
21459 }
21460 void parser___ReduceAction312___action(val_t self, val_t param0) {
21461 struct trace_t trace = {NULL, NULL, 12393, LOCATE_parser___ReduceAction312___action};
21462 val_t variable[15];
21463 void **closurevariable = NULL;
21464 trace.prev = tracehead; tracehead = &trace;
21465 trace.file = LOCATE_parser;
21466 variable[0] = self;
21467 variable[1] = param0;
21468 variable[3] = NIT_NULL /*null*/;
21469 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21470 variable[4] = variable[5];
21471 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21472 variable[5] = variable[6];
21473 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21474 variable[6] = variable[7];
21475 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21476 variable[7] = variable[8];
21477 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21478 variable[8] = variable[9];
21479 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
21480 variable[9] = variable[10];
21481 variable[10] = variable[6] /*nodearraylist1*/;
21482 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
21483 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction312___action, LOCATE_parser, 12404); nit_exit(1);}
21484 variable[11] = variable[5] /*nodearraylist2*/;
21485 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
21486 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction312___action, LOCATE_parser, 12406); nit_exit(1);}
21487 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
21488 if (UNTAG_Bool(variable[12])) { /*if*/
21489 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
21490 if (UNTAG_Bool(variable[12])) { /*if*/
21491 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
21492 } else { /*if*/
21493 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
21494 }
21495 }
21496 variable[12] = variable[4] /*nodearraylist3*/;
21497 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
21498 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction312___action, LOCATE_parser, 12415); nit_exit(1);}
21499 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode6*/)( variable[12] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
21500 if (UNTAG_Bool(variable[13])) { /*if*/
21501 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode7*/)( variable[8] /*listnode7*/) /*AbstractArray::is_empty*/;
21502 if (UNTAG_Bool(variable[13])) { /*if*/
21503 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
21504 } else { /*if*/
21505 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode7*/)( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
21506 }
21507 }
21508 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/); /*new ACallExpr*/
21509 variable[13] = variable[14];
21510 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
21511 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(45)) /*Parser::go_to*/;
21512 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
21513 return_label656: while(false);
21514 tracehead = trace.prev;
21515 return;
21516 }
21517 void parser___ReduceAction312___init(val_t self, int* init_table) {
21518 struct trace_t trace = {NULL, NULL, 12432, LOCATE_parser___ReduceAction312___init};
21519 val_t variable[2];
21520 void **closurevariable = NULL;
21521 trace.prev = tracehead; tracehead = &trace;
21522 trace.file = LOCATE_parser;
21523 variable[0] = self;
21524 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction312].i]) return;
21525 return_label657: while(false);
21526 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction312].i] = 1;
21527 tracehead = trace.prev;
21528 return;
21529 }
21530 void parser___ReduceAction313___action(val_t self, val_t param0) {
21531 struct trace_t trace = {NULL, NULL, 12436, LOCATE_parser___ReduceAction313___action};
21532 val_t variable[14];
21533 void **closurevariable = NULL;
21534 trace.prev = tracehead; tracehead = &trace;
21535 trace.file = LOCATE_parser;
21536 variable[0] = self;
21537 variable[1] = param0;
21538 variable[3] = NIT_NULL /*null*/;
21539 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21540 variable[4] = variable[5];
21541 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21542 variable[5] = variable[6];
21543 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21544 variable[6] = variable[7];
21545 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21546 variable[7] = variable[8];
21547 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21548 variable[8] = variable[9];
21549 variable[9] = variable[6] /*nodearraylist1*/;
21550 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21551 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction313___action, LOCATE_parser, 12445); nit_exit(1);}
21552 variable[10] = variable[5] /*nodearraylist2*/;
21553 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
21554 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction313___action, LOCATE_parser, 12447); nit_exit(1);}
21555 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
21556 if (UNTAG_Bool(variable[11])) { /*if*/
21557 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode4*/)( variable[7] /*listnode4*/) /*AbstractArray::is_empty*/;
21558 if (UNTAG_Bool(variable[11])) { /*if*/
21559 variable[7] = variable[10] /*listnode3*/ /*listnode4=*/;
21560 } else { /*if*/
21561 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode4*/)( variable[7] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
21562 }
21563 }
21564 variable[11] = variable[4] /*nodearraylist3*/;
21565 variable[12] = TAG_Bool(( variable[11] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
21566 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction313___action, LOCATE_parser, 12456); nit_exit(1);}
21567 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode5*/)( variable[11] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
21568 if (UNTAG_Bool(variable[12])) { /*if*/
21569 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode6*/)( variable[8] /*listnode6*/) /*AbstractArray::is_empty*/;
21570 if (UNTAG_Bool(variable[12])) { /*if*/
21571 variable[8] = variable[11] /*listnode5*/ /*listnode6=*/;
21572 } else { /*if*/
21573 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[11] /*listnode5*/) /*IndexedCollection::append*/;
21574 }
21575 }
21576 variable[13] = NEW_ABraExpr_parser_prod___ABraExpr___init_abraexpr( variable[9] /*pexprnode2*/, variable[7] /*listnode4*/, variable[8] /*listnode6*/); /*new ABraExpr*/
21577 variable[12] = variable[13];
21578 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
21579 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(45)) /*Parser::go_to*/;
21580 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
21581 return_label658: while(false);
21582 tracehead = trace.prev;
21583 return;
21584 }
21585 void parser___ReduceAction313___init(val_t self, int* init_table) {
21586 struct trace_t trace = {NULL, NULL, 12472, LOCATE_parser___ReduceAction313___init};
21587 val_t variable[2];
21588 void **closurevariable = NULL;
21589 trace.prev = tracehead; tracehead = &trace;
21590 trace.file = LOCATE_parser;
21591 variable[0] = self;
21592 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction313].i]) return;
21593 return_label659: while(false);
21594 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction313].i] = 1;
21595 tracehead = trace.prev;
21596 return;
21597 }
21598 void parser___ReduceAction314___action(val_t self, val_t param0) {
21599 struct trace_t trace = {NULL, NULL, 12476, LOCATE_parser___ReduceAction314___action};
21600 val_t variable[7];
21601 void **closurevariable = NULL;
21602 trace.prev = tracehead; tracehead = &trace;
21603 trace.file = LOCATE_parser;
21604 variable[0] = self;
21605 variable[1] = param0;
21606 variable[3] = NIT_NULL /*null*/;
21607 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21608 variable[4] = variable[5];
21609 variable[5] = variable[4] /*nodearraylist1*/;
21610 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21611 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction314___action, LOCATE_parser, 12481); nit_exit(1);}
21612 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
21613 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(46)) /*Parser::go_to*/;
21614 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
21615 return_label660: while(false);
21616 tracehead = trace.prev;
21617 return;
21618 }
21619 void parser___ReduceAction314___init(val_t self, int* init_table) {
21620 struct trace_t trace = {NULL, NULL, 12485, LOCATE_parser___ReduceAction314___init};
21621 val_t variable[2];
21622 void **closurevariable = NULL;
21623 trace.prev = tracehead; tracehead = &trace;
21624 trace.file = LOCATE_parser;
21625 variable[0] = self;
21626 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction314].i]) return;
21627 return_label661: while(false);
21628 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction314].i] = 1;
21629 tracehead = trace.prev;
21630 return;
21631 }
21632 void parser___ReduceAction315___action(val_t self, val_t param0) {
21633 struct trace_t trace = {NULL, NULL, 12489, LOCATE_parser___ReduceAction315___action};
21634 val_t variable[23];
21635 void **closurevariable = NULL;
21636 trace.prev = tracehead; tracehead = &trace;
21637 trace.file = LOCATE_parser;
21638 variable[0] = self;
21639 variable[1] = param0;
21640 variable[3] = NIT_NULL /*null*/;
21641 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21642 variable[4] = variable[5];
21643 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21644 variable[5] = variable[6];
21645 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21646 variable[6] = variable[7];
21647 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21648 variable[7] = variable[8];
21649 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21650 variable[8] = variable[9];
21651 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21652 variable[9] = variable[10];
21653 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21654 variable[10] = variable[11];
21655 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21656 variable[11] = variable[12];
21657 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21658 variable[12] = variable[13];
21659 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21660 variable[13] = variable[14];
21661 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21662 variable[14] = variable[15];
21663 variable[15] = variable[14] /*nodearraylist1*/;
21664 variable[16] = TAG_Bool(( variable[15] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
21665 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction315___action, LOCATE_parser, 12504); nit_exit(1);}
21666 variable[16] = variable[12] /*nodearraylist3*/;
21667 variable[17] = TAG_Bool(( variable[16] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21668 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction315___action, LOCATE_parser, 12506); nit_exit(1);}
21669 variable[17] = variable[10] /*nodearraylist5*/;
21670 variable[18] = TAG_Bool(( variable[17] /*tkwthennode4*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwthennode4*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/;
21671 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction315___action, LOCATE_parser, 12508); nit_exit(1);}
21672 variable[18] = variable[8] /*nodearraylist7*/;
21673 variable[19] = TAG_Bool(( variable[18] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21674 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction315___action, LOCATE_parser, 12510); nit_exit(1);}
21675 variable[19] = variable[6] /*nodearraylist9*/;
21676 variable[20] = TAG_Bool(( variable[19] /*tkwelsenode6*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwelsenode6*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/;
21677 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction315___action, LOCATE_parser, 12512); nit_exit(1);}
21678 variable[20] = variable[4] /*nodearraylist11*/;
21679 variable[21] = TAG_Bool(( variable[20] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21680 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction315___action, LOCATE_parser, 12514); nit_exit(1);}
21681 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*/
21682 variable[21] = variable[22];
21683 variable[3] = variable[21] /*pexprnode1*/ /*node_list=*/;
21684 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(46)) /*Parser::go_to*/;
21685 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
21686 return_label662: while(false);
21687 tracehead = trace.prev;
21688 return;
21689 }
21690 void parser___ReduceAction315___init(val_t self, int* init_table) {
21691 struct trace_t trace = {NULL, NULL, 12526, LOCATE_parser___ReduceAction315___init};
21692 val_t variable[2];
21693 void **closurevariable = NULL;
21694 trace.prev = tracehead; tracehead = &trace;
21695 trace.file = LOCATE_parser;
21696 variable[0] = self;
21697 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction315].i]) return;
21698 return_label663: while(false);
21699 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction315].i] = 1;
21700 tracehead = trace.prev;
21701 return;
21702 }
21703 void parser___ReduceAction316___action(val_t self, val_t param0) {
21704 struct trace_t trace = {NULL, NULL, 12530, LOCATE_parser___ReduceAction316___action};
21705 val_t variable[7];
21706 void **closurevariable = NULL;
21707 trace.prev = tracehead; tracehead = &trace;
21708 trace.file = LOCATE_parser;
21709 variable[0] = self;
21710 variable[1] = param0;
21711 variable[3] = NIT_NULL /*null*/;
21712 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21713 variable[4] = variable[5];
21714 variable[5] = variable[4] /*nodearraylist1*/;
21715 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21716 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction316___action, LOCATE_parser, 12535); nit_exit(1);}
21717 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
21718 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(47)) /*Parser::go_to*/;
21719 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
21720 return_label664: while(false);
21721 tracehead = trace.prev;
21722 return;
21723 }
21724 void parser___ReduceAction316___init(val_t self, int* init_table) {
21725 struct trace_t trace = {NULL, NULL, 12539, LOCATE_parser___ReduceAction316___init};
21726 val_t variable[2];
21727 void **closurevariable = NULL;
21728 trace.prev = tracehead; tracehead = &trace;
21729 trace.file = LOCATE_parser;
21730 variable[0] = self;
21731 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction316].i]) return;
21732 return_label665: while(false);
21733 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction316].i] = 1;
21734 tracehead = trace.prev;
21735 return;
21736 }
21737 void parser___ReduceAction317___action(val_t self, val_t param0) {
21738 struct trace_t trace = {NULL, NULL, 12543, LOCATE_parser___ReduceAction317___action};
21739 val_t variable[12];
21740 void **closurevariable = NULL;
21741 trace.prev = tracehead; tracehead = &trace;
21742 trace.file = LOCATE_parser;
21743 variable[0] = self;
21744 variable[1] = param0;
21745 variable[3] = NIT_NULL /*null*/;
21746 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21747 variable[4] = variable[5];
21748 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21749 variable[5] = variable[6];
21750 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21751 variable[6] = variable[7];
21752 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21753 variable[7] = variable[8];
21754 variable[8] = variable[7] /*nodearraylist1*/;
21755 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21756 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction317___action, LOCATE_parser, 12551); nit_exit(1);}
21757 variable[9] = variable[4] /*nodearraylist4*/;
21758 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21759 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction317___action, LOCATE_parser, 12553); nit_exit(1);}
21760 variable[11] = NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AOrExpr*/
21761 variable[10] = variable[11];
21762 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
21763 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(47)) /*Parser::go_to*/;
21764 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
21765 return_label666: while(false);
21766 tracehead = trace.prev;
21767 return;
21768 }
21769 void parser___ReduceAction317___init(val_t self, int* init_table) {
21770 struct trace_t trace = {NULL, NULL, 12561, LOCATE_parser___ReduceAction317___init};
21771 val_t variable[2];
21772 void **closurevariable = NULL;
21773 trace.prev = tracehead; tracehead = &trace;
21774 trace.file = LOCATE_parser;
21775 variable[0] = self;
21776 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction317].i]) return;
21777 return_label667: while(false);
21778 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction317].i] = 1;
21779 tracehead = trace.prev;
21780 return;
21781 }
21782 void parser___ReduceAction318___action(val_t self, val_t param0) {
21783 struct trace_t trace = {NULL, NULL, 12565, LOCATE_parser___ReduceAction318___action};
21784 val_t variable[12];
21785 void **closurevariable = NULL;
21786 trace.prev = tracehead; tracehead = &trace;
21787 trace.file = LOCATE_parser;
21788 variable[0] = self;
21789 variable[1] = param0;
21790 variable[3] = NIT_NULL /*null*/;
21791 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21792 variable[4] = variable[5];
21793 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21794 variable[5] = variable[6];
21795 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21796 variable[6] = variable[7];
21797 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21798 variable[7] = variable[8];
21799 variable[8] = variable[7] /*nodearraylist1*/;
21800 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21801 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction318___action, LOCATE_parser, 12573); nit_exit(1);}
21802 variable[9] = variable[4] /*nodearraylist4*/;
21803 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21804 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction318___action, LOCATE_parser, 12575); nit_exit(1);}
21805 variable[11] = NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AAndExpr*/
21806 variable[10] = variable[11];
21807 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
21808 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(47)) /*Parser::go_to*/;
21809 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
21810 return_label668: while(false);
21811 tracehead = trace.prev;
21812 return;
21813 }
21814 void parser___ReduceAction318___init(val_t self, int* init_table) {
21815 struct trace_t trace = {NULL, NULL, 12583, LOCATE_parser___ReduceAction318___init};
21816 val_t variable[2];
21817 void **closurevariable = NULL;
21818 trace.prev = tracehead; tracehead = &trace;
21819 trace.file = LOCATE_parser;
21820 variable[0] = self;
21821 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction318].i]) return;
21822 return_label669: while(false);
21823 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction318].i] = 1;
21824 tracehead = trace.prev;
21825 return;
21826 }
21827 void parser___ReduceAction319___action(val_t self, val_t param0) {
21828 struct trace_t trace = {NULL, NULL, 12587, LOCATE_parser___ReduceAction319___action};
21829 val_t variable[7];
21830 void **closurevariable = NULL;
21831 trace.prev = tracehead; tracehead = &trace;
21832 trace.file = LOCATE_parser;
21833 variable[0] = self;
21834 variable[1] = param0;
21835 variable[3] = NIT_NULL /*null*/;
21836 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21837 variable[4] = variable[5];
21838 variable[5] = variable[4] /*nodearraylist1*/;
21839 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21840 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction319___action, LOCATE_parser, 12592); nit_exit(1);}
21841 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
21842 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(48)) /*Parser::go_to*/;
21843 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
21844 return_label670: while(false);
21845 tracehead = trace.prev;
21846 return;
21847 }
21848 void parser___ReduceAction319___init(val_t self, int* init_table) {
21849 struct trace_t trace = {NULL, NULL, 12596, LOCATE_parser___ReduceAction319___init};
21850 val_t variable[2];
21851 void **closurevariable = NULL;
21852 trace.prev = tracehead; tracehead = &trace;
21853 trace.file = LOCATE_parser;
21854 variable[0] = self;
21855 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction319].i]) return;
21856 return_label671: while(false);
21857 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction319].i] = 1;
21858 tracehead = trace.prev;
21859 return;
21860 }
21861 void parser___ReduceAction320___action(val_t self, val_t param0) {
21862 struct trace_t trace = {NULL, NULL, 12600, LOCATE_parser___ReduceAction320___action};
21863 val_t variable[11];
21864 void **closurevariable = NULL;
21865 trace.prev = tracehead; tracehead = &trace;
21866 trace.file = LOCATE_parser;
21867 variable[0] = self;
21868 variable[1] = param0;
21869 variable[3] = NIT_NULL /*null*/;
21870 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21871 variable[4] = variable[5];
21872 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21873 variable[5] = variable[6];
21874 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21875 variable[6] = variable[7];
21876 variable[7] = variable[6] /*nodearraylist1*/;
21877 variable[8] = TAG_Bool(( variable[7] /*tkwnotnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwnotnode2*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
21878 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction320___action, LOCATE_parser, 12607); nit_exit(1);}
21879 variable[8] = variable[4] /*nodearraylist3*/;
21880 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21881 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction320___action, LOCATE_parser, 12609); nit_exit(1);}
21882 variable[10] = NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr( variable[7] /*tkwnotnode2*/, variable[8] /*pexprnode3*/); /*new ANotExpr*/
21883 variable[9] = variable[10];
21884 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
21885 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(48)) /*Parser::go_to*/;
21886 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
21887 return_label672: while(false);
21888 tracehead = trace.prev;
21889 return;
21890 }
21891 void parser___ReduceAction320___init(val_t self, int* init_table) {
21892 struct trace_t trace = {NULL, NULL, 12617, LOCATE_parser___ReduceAction320___init};
21893 val_t variable[2];
21894 void **closurevariable = NULL;
21895 trace.prev = tracehead; tracehead = &trace;
21896 trace.file = LOCATE_parser;
21897 variable[0] = self;
21898 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction320].i]) return;
21899 return_label673: while(false);
21900 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction320].i] = 1;
21901 tracehead = trace.prev;
21902 return;
21903 }
21904 void parser___ReduceAction321___action(val_t self, val_t param0) {
21905 struct trace_t trace = {NULL, NULL, 12621, LOCATE_parser___ReduceAction321___action};
21906 val_t variable[7];
21907 void **closurevariable = NULL;
21908 trace.prev = tracehead; tracehead = &trace;
21909 trace.file = LOCATE_parser;
21910 variable[0] = self;
21911 variable[1] = param0;
21912 variable[3] = NIT_NULL /*null*/;
21913 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21914 variable[4] = variable[5];
21915 variable[5] = variable[4] /*nodearraylist1*/;
21916 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21917 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction321___action, LOCATE_parser, 12626); nit_exit(1);}
21918 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
21919 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(49)) /*Parser::go_to*/;
21920 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
21921 return_label674: while(false);
21922 tracehead = trace.prev;
21923 return;
21924 }
21925 void parser___ReduceAction321___init(val_t self, int* init_table) {
21926 struct trace_t trace = {NULL, NULL, 12630, LOCATE_parser___ReduceAction321___init};
21927 val_t variable[2];
21928 void **closurevariable = NULL;
21929 trace.prev = tracehead; tracehead = &trace;
21930 trace.file = LOCATE_parser;
21931 variable[0] = self;
21932 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction321].i]) return;
21933 return_label675: while(false);
21934 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction321].i] = 1;
21935 tracehead = trace.prev;
21936 return;
21937 }
21938 void parser___ReduceAction322___action(val_t self, val_t param0) {
21939 struct trace_t trace = {NULL, NULL, 12634, LOCATE_parser___ReduceAction322___action};
21940 val_t variable[12];
21941 void **closurevariable = NULL;
21942 trace.prev = tracehead; tracehead = &trace;
21943 trace.file = LOCATE_parser;
21944 variable[0] = self;
21945 variable[1] = param0;
21946 variable[3] = NIT_NULL /*null*/;
21947 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21948 variable[4] = variable[5];
21949 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21950 variable[5] = variable[6];
21951 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21952 variable[6] = variable[7];
21953 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21954 variable[7] = variable[8];
21955 variable[8] = variable[7] /*nodearraylist1*/;
21956 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21957 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction322___action, LOCATE_parser, 12642); nit_exit(1);}
21958 variable[9] = variable[4] /*nodearraylist4*/;
21959 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21960 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction322___action, LOCATE_parser, 12644); nit_exit(1);}
21961 variable[11] = NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AEqExpr*/
21962 variable[10] = variable[11];
21963 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
21964 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(49)) /*Parser::go_to*/;
21965 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
21966 return_label676: while(false);
21967 tracehead = trace.prev;
21968 return;
21969 }
21970 void parser___ReduceAction322___init(val_t self, int* init_table) {
21971 struct trace_t trace = {NULL, NULL, 12652, LOCATE_parser___ReduceAction322___init};
21972 val_t variable[2];
21973 void **closurevariable = NULL;
21974 trace.prev = tracehead; tracehead = &trace;
21975 trace.file = LOCATE_parser;
21976 variable[0] = self;
21977 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction322].i]) return;
21978 return_label677: while(false);
21979 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction322].i] = 1;
21980 tracehead = trace.prev;
21981 return;
21982 }
21983 void parser___ReduceAction323___action(val_t self, val_t param0) {
21984 struct trace_t trace = {NULL, NULL, 12656, LOCATE_parser___ReduceAction323___action};
21985 val_t variable[12];
21986 void **closurevariable = NULL;
21987 trace.prev = tracehead; tracehead = &trace;
21988 trace.file = LOCATE_parser;
21989 variable[0] = self;
21990 variable[1] = param0;
21991 variable[3] = NIT_NULL /*null*/;
21992 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21993 variable[4] = variable[5];
21994 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21995 variable[5] = variable[6];
21996 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21997 variable[6] = variable[7];
21998 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21999 variable[7] = variable[8];
22000 variable[8] = variable[7] /*nodearraylist1*/;
22001 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22002 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction323___action, LOCATE_parser, 12664); nit_exit(1);}
22003 variable[9] = variable[4] /*nodearraylist4*/;
22004 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22005 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction323___action, LOCATE_parser, 12666); nit_exit(1);}
22006 variable[11] = NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AEeExpr*/
22007 variable[10] = variable[11];
22008 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
22009 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(49)) /*Parser::go_to*/;
22010 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
22011 return_label678: while(false);
22012 tracehead = trace.prev;
22013 return;
22014 }
22015 void parser___ReduceAction323___init(val_t self, int* init_table) {
22016 struct trace_t trace = {NULL, NULL, 12674, LOCATE_parser___ReduceAction323___init};
22017 val_t variable[2];
22018 void **closurevariable = NULL;
22019 trace.prev = tracehead; tracehead = &trace;
22020 trace.file = LOCATE_parser;
22021 variable[0] = self;
22022 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction323].i]) return;
22023 return_label679: while(false);
22024 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction323].i] = 1;
22025 tracehead = trace.prev;
22026 return;
22027 }
22028 void parser___ReduceAction324___action(val_t self, val_t param0) {
22029 struct trace_t trace = {NULL, NULL, 12678, LOCATE_parser___ReduceAction324___action};
22030 val_t variable[12];
22031 void **closurevariable = NULL;
22032 trace.prev = tracehead; tracehead = &trace;
22033 trace.file = LOCATE_parser;
22034 variable[0] = self;
22035 variable[1] = param0;
22036 variable[3] = NIT_NULL /*null*/;
22037 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22038 variable[4] = variable[5];
22039 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22040 variable[5] = variable[6];
22041 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22042 variable[6] = variable[7];
22043 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22044 variable[7] = variable[8];
22045 variable[8] = variable[7] /*nodearraylist1*/;
22046 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22047 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction324___action, LOCATE_parser, 12686); nit_exit(1);}
22048 variable[9] = variable[4] /*nodearraylist4*/;
22049 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22050 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction324___action, LOCATE_parser, 12688); nit_exit(1);}
22051 variable[11] = NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ANeExpr*/
22052 variable[10] = variable[11];
22053 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
22054 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(49)) /*Parser::go_to*/;
22055 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
22056 return_label680: while(false);
22057 tracehead = trace.prev;
22058 return;
22059 }
22060 void parser___ReduceAction324___init(val_t self, int* init_table) {
22061 struct trace_t trace = {NULL, NULL, 12696, LOCATE_parser___ReduceAction324___init};
22062 val_t variable[2];
22063 void **closurevariable = NULL;
22064 trace.prev = tracehead; tracehead = &trace;
22065 trace.file = LOCATE_parser;
22066 variable[0] = self;
22067 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction324].i]) return;
22068 return_label681: while(false);
22069 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction324].i] = 1;
22070 tracehead = trace.prev;
22071 return;
22072 }
22073 void parser___ReduceAction325___action(val_t self, val_t param0) {
22074 struct trace_t trace = {NULL, NULL, 12700, LOCATE_parser___ReduceAction325___action};
22075 val_t variable[12];
22076 void **closurevariable = NULL;
22077 trace.prev = tracehead; tracehead = &trace;
22078 trace.file = LOCATE_parser;
22079 variable[0] = self;
22080 variable[1] = param0;
22081 variable[3] = NIT_NULL /*null*/;
22082 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22083 variable[4] = variable[5];
22084 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22085 variable[5] = variable[6];
22086 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22087 variable[6] = variable[7];
22088 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22089 variable[7] = variable[8];
22090 variable[8] = variable[7] /*nodearraylist1*/;
22091 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22092 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction325___action, LOCATE_parser, 12708); nit_exit(1);}
22093 variable[9] = variable[4] /*nodearraylist4*/;
22094 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22095 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction325___action, LOCATE_parser, 12710); nit_exit(1);}
22096 variable[11] = NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ALtExpr*/
22097 variable[10] = variable[11];
22098 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
22099 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(49)) /*Parser::go_to*/;
22100 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
22101 return_label682: while(false);
22102 tracehead = trace.prev;
22103 return;
22104 }
22105 void parser___ReduceAction325___init(val_t self, int* init_table) {
22106 struct trace_t trace = {NULL, NULL, 12718, LOCATE_parser___ReduceAction325___init};
22107 val_t variable[2];
22108 void **closurevariable = NULL;
22109 trace.prev = tracehead; tracehead = &trace;
22110 trace.file = LOCATE_parser;
22111 variable[0] = self;
22112 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction325].i]) return;
22113 return_label683: while(false);
22114 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction325].i] = 1;
22115 tracehead = trace.prev;
22116 return;
22117 }
22118 void parser___ReduceAction326___action(val_t self, val_t param0) {
22119 struct trace_t trace = {NULL, NULL, 12722, LOCATE_parser___ReduceAction326___action};
22120 val_t variable[12];
22121 void **closurevariable = NULL;
22122 trace.prev = tracehead; tracehead = &trace;
22123 trace.file = LOCATE_parser;
22124 variable[0] = self;
22125 variable[1] = param0;
22126 variable[3] = NIT_NULL /*null*/;
22127 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22128 variable[4] = variable[5];
22129 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22130 variable[5] = variable[6];
22131 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22132 variable[6] = variable[7];
22133 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22134 variable[7] = variable[8];
22135 variable[8] = variable[7] /*nodearraylist1*/;
22136 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22137 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction326___action, LOCATE_parser, 12730); nit_exit(1);}
22138 variable[9] = variable[4] /*nodearraylist4*/;
22139 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22140 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction326___action, LOCATE_parser, 12732); nit_exit(1);}
22141 variable[11] = NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ALeExpr*/
22142 variable[10] = variable[11];
22143 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
22144 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(49)) /*Parser::go_to*/;
22145 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
22146 return_label684: while(false);
22147 tracehead = trace.prev;
22148 return;
22149 }
22150 void parser___ReduceAction326___init(val_t self, int* init_table) {
22151 struct trace_t trace = {NULL, NULL, 12740, LOCATE_parser___ReduceAction326___init};
22152 val_t variable[2];
22153 void **closurevariable = NULL;
22154 trace.prev = tracehead; tracehead = &trace;
22155 trace.file = LOCATE_parser;
22156 variable[0] = self;
22157 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction326].i]) return;
22158 return_label685: while(false);
22159 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction326].i] = 1;
22160 tracehead = trace.prev;
22161 return;
22162 }
22163 void parser___ReduceAction327___action(val_t self, val_t param0) {
22164 struct trace_t trace = {NULL, NULL, 12744, LOCATE_parser___ReduceAction327___action};
22165 val_t variable[12];
22166 void **closurevariable = NULL;
22167 trace.prev = tracehead; tracehead = &trace;
22168 trace.file = LOCATE_parser;
22169 variable[0] = self;
22170 variable[1] = param0;
22171 variable[3] = NIT_NULL /*null*/;
22172 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22173 variable[4] = variable[5];
22174 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22175 variable[5] = variable[6];
22176 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22177 variable[6] = variable[7];
22178 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22179 variable[7] = variable[8];
22180 variable[8] = variable[7] /*nodearraylist1*/;
22181 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22182 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction327___action, LOCATE_parser, 12752); nit_exit(1);}
22183 variable[9] = variable[4] /*nodearraylist4*/;
22184 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22185 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction327___action, LOCATE_parser, 12754); nit_exit(1);}
22186 variable[11] = NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AGtExpr*/
22187 variable[10] = variable[11];
22188 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
22189 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(49)) /*Parser::go_to*/;
22190 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
22191 return_label686: while(false);
22192 tracehead = trace.prev;
22193 return;
22194 }
22195 void parser___ReduceAction327___init(val_t self, int* init_table) {
22196 struct trace_t trace = {NULL, NULL, 12762, LOCATE_parser___ReduceAction327___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(variable[0])->vft[INIT_TABLE_POS_ReduceAction327].i]) return;
22203 return_label687: while(false);
22204 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction327].i] = 1;
22205 tracehead = trace.prev;
22206 return;
22207 }
22208 void parser___ReduceAction328___action(val_t self, val_t param0) {
22209 struct trace_t trace = {NULL, NULL, 12766, LOCATE_parser___ReduceAction328___action};
22210 val_t variable[12];
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] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22218 variable[4] = variable[5];
22219 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22220 variable[5] = variable[6];
22221 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22222 variable[6] = variable[7];
22223 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22224 variable[7] = variable[8];
22225 variable[8] = variable[7] /*nodearraylist1*/;
22226 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22227 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction328___action, LOCATE_parser, 12774); nit_exit(1);}
22228 variable[9] = variable[4] /*nodearraylist4*/;
22229 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22230 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction328___action, LOCATE_parser, 12776); nit_exit(1);}
22231 variable[11] = NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AGeExpr*/
22232 variable[10] = variable[11];
22233 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
22234 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(49)) /*Parser::go_to*/;
22235 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
22236 return_label688: while(false);
22237 tracehead = trace.prev;
22238 return;
22239 }
22240 void parser___ReduceAction328___init(val_t self, int* init_table) {
22241 struct trace_t trace = {NULL, NULL, 12784, LOCATE_parser___ReduceAction328___init};
22242 val_t variable[2];
22243 void **closurevariable = NULL;
22244 trace.prev = tracehead; tracehead = &trace;
22245 trace.file = LOCATE_parser;
22246 variable[0] = self;
22247 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction328].i]) return;
22248 return_label689: while(false);
22249 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction328].i] = 1;
22250 tracehead = trace.prev;
22251 return;
22252 }
22253 void parser___ReduceAction329___action(val_t self, val_t param0) {
22254 struct trace_t trace = {NULL, NULL, 12788, LOCATE_parser___ReduceAction329___action};
22255 val_t variable[12];
22256 void **closurevariable = NULL;
22257 trace.prev = tracehead; tracehead = &trace;
22258 trace.file = LOCATE_parser;
22259 variable[0] = self;
22260 variable[1] = param0;
22261 variable[3] = NIT_NULL /*null*/;
22262 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22263 variable[4] = variable[5];
22264 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22265 variable[5] = variable[6];
22266 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22267 variable[6] = variable[7];
22268 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22269 variable[7] = variable[8];
22270 variable[8] = variable[7] /*nodearraylist1*/;
22271 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22272 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction329___action, LOCATE_parser, 12796); nit_exit(1);}
22273 variable[9] = variable[4] /*nodearraylist4*/;
22274 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22275 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction329___action, LOCATE_parser, 12798); nit_exit(1);}
22276 variable[11] = NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AStarshipExpr*/
22277 variable[10] = variable[11];
22278 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
22279 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(49)) /*Parser::go_to*/;
22280 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
22281 return_label690: while(false);
22282 tracehead = trace.prev;
22283 return;
22284 }
22285 void parser___ReduceAction329___init(val_t self, int* init_table) {
22286 struct trace_t trace = {NULL, NULL, 12806, LOCATE_parser___ReduceAction329___init};
22287 val_t variable[2];
22288 void **closurevariable = NULL;
22289 trace.prev = tracehead; tracehead = &trace;
22290 trace.file = LOCATE_parser;
22291 variable[0] = self;
22292 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction329].i]) return;
22293 return_label691: while(false);
22294 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction329].i] = 1;
22295 tracehead = trace.prev;
22296 return;
22297 }
22298 void parser___ReduceAction330___action(val_t self, val_t param0) {
22299 struct trace_t trace = {NULL, NULL, 12810, LOCATE_parser___ReduceAction330___action};
22300 val_t variable[12];
22301 void **closurevariable = NULL;
22302 trace.prev = tracehead; tracehead = &trace;
22303 trace.file = LOCATE_parser;
22304 variable[0] = self;
22305 variable[1] = param0;
22306 variable[3] = NIT_NULL /*null*/;
22307 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22308 variable[4] = variable[5];
22309 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22310 variable[5] = variable[6];
22311 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22312 variable[6] = variable[7];
22313 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22314 variable[7] = variable[8];
22315 variable[8] = variable[7] /*nodearraylist1*/;
22316 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22317 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction330___action, LOCATE_parser, 12818); nit_exit(1);}
22318 variable[9] = variable[4] /*nodearraylist4*/;
22319 variable[10] = TAG_Bool(( variable[9] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[9] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
22320 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction330___action, LOCATE_parser, 12820); nit_exit(1);}
22321 variable[11] = NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr( variable[8] /*pexprnode2*/, variable[9] /*ptypenode3*/); /*new AIsaExpr*/
22322 variable[10] = variable[11];
22323 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
22324 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(49)) /*Parser::go_to*/;
22325 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
22326 return_label692: while(false);
22327 tracehead = trace.prev;
22328 return;
22329 }
22330 void parser___ReduceAction330___init(val_t self, int* init_table) {
22331 struct trace_t trace = {NULL, NULL, 12828, LOCATE_parser___ReduceAction330___init};
22332 val_t variable[2];
22333 void **closurevariable = NULL;
22334 trace.prev = tracehead; tracehead = &trace;
22335 trace.file = LOCATE_parser;
22336 variable[0] = self;
22337 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction330].i]) return;
22338 return_label693: while(false);
22339 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction330].i] = 1;
22340 tracehead = trace.prev;
22341 return;
22342 }
22343 void parser___ReduceAction331___action(val_t self, val_t param0) {
22344 struct trace_t trace = {NULL, NULL, 12832, LOCATE_parser___ReduceAction331___action};
22345 val_t variable[7];
22346 void **closurevariable = NULL;
22347 trace.prev = tracehead; tracehead = &trace;
22348 trace.file = LOCATE_parser;
22349 variable[0] = self;
22350 variable[1] = param0;
22351 variable[3] = NIT_NULL /*null*/;
22352 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22353 variable[4] = variable[5];
22354 variable[5] = variable[4] /*nodearraylist1*/;
22355 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22356 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction331___action, LOCATE_parser, 12837); nit_exit(1);}
22357 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
22358 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(50)) /*Parser::go_to*/;
22359 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
22360 return_label694: while(false);
22361 tracehead = trace.prev;
22362 return;
22363 }
22364 void parser___ReduceAction331___init(val_t self, int* init_table) {
22365 struct trace_t trace = {NULL, NULL, 12841, LOCATE_parser___ReduceAction331___init};
22366 val_t variable[2];
22367 void **closurevariable = NULL;
22368 trace.prev = tracehead; tracehead = &trace;
22369 trace.file = LOCATE_parser;
22370 variable[0] = self;
22371 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction331].i]) return;
22372 return_label695: while(false);
22373 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction331].i] = 1;
22374 tracehead = trace.prev;
22375 return;
22376 }
22377 void parser___ReduceAction332___action(val_t self, val_t param0) {
22378 struct trace_t trace = {NULL, NULL, 12845, LOCATE_parser___ReduceAction332___action};
22379 val_t variable[12];
22380 void **closurevariable = NULL;
22381 trace.prev = tracehead; tracehead = &trace;
22382 trace.file = LOCATE_parser;
22383 variable[0] = self;
22384 variable[1] = param0;
22385 variable[3] = NIT_NULL /*null*/;
22386 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22387 variable[4] = variable[5];
22388 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22389 variable[5] = variable[6];
22390 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22391 variable[6] = variable[7];
22392 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22393 variable[7] = variable[8];
22394 variable[8] = variable[7] /*nodearraylist1*/;
22395 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22396 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction332___action, LOCATE_parser, 12853); nit_exit(1);}
22397 variable[9] = variable[4] /*nodearraylist4*/;
22398 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22399 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction332___action, LOCATE_parser, 12855); nit_exit(1);}
22400 variable[11] = NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new APlusExpr*/
22401 variable[10] = variable[11];
22402 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
22403 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(50)) /*Parser::go_to*/;
22404 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
22405 return_label696: while(false);
22406 tracehead = trace.prev;
22407 return;
22408 }
22409 void parser___ReduceAction332___init(val_t self, int* init_table) {
22410 struct trace_t trace = {NULL, NULL, 12863, LOCATE_parser___ReduceAction332___init};
22411 val_t variable[2];
22412 void **closurevariable = NULL;
22413 trace.prev = tracehead; tracehead = &trace;
22414 trace.file = LOCATE_parser;
22415 variable[0] = self;
22416 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction332].i]) return;
22417 return_label697: while(false);
22418 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction332].i] = 1;
22419 tracehead = trace.prev;
22420 return;
22421 }
22422 void parser___ReduceAction333___action(val_t self, val_t param0) {
22423 struct trace_t trace = {NULL, NULL, 12867, LOCATE_parser___ReduceAction333___action};
22424 val_t variable[12];
22425 void **closurevariable = NULL;
22426 trace.prev = tracehead; tracehead = &trace;
22427 trace.file = LOCATE_parser;
22428 variable[0] = self;
22429 variable[1] = param0;
22430 variable[3] = NIT_NULL /*null*/;
22431 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22432 variable[4] = variable[5];
22433 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22434 variable[5] = variable[6];
22435 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22436 variable[6] = variable[7];
22437 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22438 variable[7] = variable[8];
22439 variable[8] = variable[7] /*nodearraylist1*/;
22440 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22441 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction333___action, LOCATE_parser, 12875); nit_exit(1);}
22442 variable[9] = variable[4] /*nodearraylist4*/;
22443 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22444 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction333___action, LOCATE_parser, 12877); nit_exit(1);}
22445 variable[11] = NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AMinusExpr*/
22446 variable[10] = variable[11];
22447 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
22448 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(50)) /*Parser::go_to*/;
22449 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
22450 return_label698: while(false);
22451 tracehead = trace.prev;
22452 return;
22453 }
22454 void parser___ReduceAction333___init(val_t self, int* init_table) {
22455 struct trace_t trace = {NULL, NULL, 12885, LOCATE_parser___ReduceAction333___init};
22456 val_t variable[2];
22457 void **closurevariable = NULL;
22458 trace.prev = tracehead; tracehead = &trace;
22459 trace.file = LOCATE_parser;
22460 variable[0] = self;
22461 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction333].i]) return;
22462 return_label699: while(false);
22463 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction333].i] = 1;
22464 tracehead = trace.prev;
22465 return;
22466 }
22467 void parser___ReduceAction334___action(val_t self, val_t param0) {
22468 struct trace_t trace = {NULL, NULL, 12889, LOCATE_parser___ReduceAction334___action};
22469 val_t variable[7];
22470 void **closurevariable = NULL;
22471 trace.prev = tracehead; tracehead = &trace;
22472 trace.file = LOCATE_parser;
22473 variable[0] = self;
22474 variable[1] = param0;
22475 variable[3] = NIT_NULL /*null*/;
22476 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22477 variable[4] = variable[5];
22478 variable[5] = variable[4] /*nodearraylist1*/;
22479 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22480 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction334___action, LOCATE_parser, 12894); nit_exit(1);}
22481 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
22482 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
22483 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
22484 return_label700: while(false);
22485 tracehead = trace.prev;
22486 return;
22487 }
22488 void parser___ReduceAction334___init(val_t self, int* init_table) {
22489 struct trace_t trace = {NULL, NULL, 12898, LOCATE_parser___ReduceAction334___init};
22490 val_t variable[2];
22491 void **closurevariable = NULL;
22492 trace.prev = tracehead; tracehead = &trace;
22493 trace.file = LOCATE_parser;
22494 variable[0] = self;
22495 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction334].i]) return;
22496 return_label701: while(false);
22497 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction334].i] = 1;
22498 tracehead = trace.prev;
22499 return;
22500 }
22501 void parser___ReduceAction335___action(val_t self, val_t param0) {
22502 struct trace_t trace = {NULL, NULL, 12902, LOCATE_parser___ReduceAction335___action};
22503 val_t variable[12];
22504 void **closurevariable = NULL;
22505 trace.prev = tracehead; tracehead = &trace;
22506 trace.file = LOCATE_parser;
22507 variable[0] = self;
22508 variable[1] = param0;
22509 variable[3] = NIT_NULL /*null*/;
22510 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22511 variable[4] = variable[5];
22512 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22513 variable[5] = variable[6];
22514 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22515 variable[6] = variable[7];
22516 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22517 variable[7] = variable[8];
22518 variable[8] = variable[7] /*nodearraylist1*/;
22519 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22520 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction335___action, LOCATE_parser, 12910); nit_exit(1);}
22521 variable[9] = variable[4] /*nodearraylist4*/;
22522 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22523 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction335___action, LOCATE_parser, 12912); nit_exit(1);}
22524 variable[11] = NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AStarExpr*/
22525 variable[10] = variable[11];
22526 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
22527 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
22528 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
22529 return_label702: while(false);
22530 tracehead = trace.prev;
22531 return;
22532 }
22533 void parser___ReduceAction335___init(val_t self, int* init_table) {
22534 struct trace_t trace = {NULL, NULL, 12920, LOCATE_parser___ReduceAction335___init};
22535 val_t variable[2];
22536 void **closurevariable = NULL;
22537 trace.prev = tracehead; tracehead = &trace;
22538 trace.file = LOCATE_parser;
22539 variable[0] = self;
22540 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction335].i]) return;
22541 return_label703: while(false);
22542 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction335].i] = 1;
22543 tracehead = trace.prev;
22544 return;
22545 }
22546 void parser___ReduceAction336___action(val_t self, val_t param0) {
22547 struct trace_t trace = {NULL, NULL, 12924, LOCATE_parser___ReduceAction336___action};
22548 val_t variable[12];
22549 void **closurevariable = NULL;
22550 trace.prev = tracehead; tracehead = &trace;
22551 trace.file = LOCATE_parser;
22552 variable[0] = self;
22553 variable[1] = param0;
22554 variable[3] = NIT_NULL /*null*/;
22555 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22556 variable[4] = variable[5];
22557 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22558 variable[5] = variable[6];
22559 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22560 variable[6] = variable[7];
22561 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22562 variable[7] = variable[8];
22563 variable[8] = variable[7] /*nodearraylist1*/;
22564 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22565 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction336___action, LOCATE_parser, 12932); nit_exit(1);}
22566 variable[9] = variable[4] /*nodearraylist4*/;
22567 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22568 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction336___action, LOCATE_parser, 12934); nit_exit(1);}
22569 variable[11] = NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ASlashExpr*/
22570 variable[10] = variable[11];
22571 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
22572 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
22573 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
22574 return_label704: while(false);
22575 tracehead = trace.prev;
22576 return;
22577 }
22578 void parser___ReduceAction336___init(val_t self, int* init_table) {
22579 struct trace_t trace = {NULL, NULL, 12942, LOCATE_parser___ReduceAction336___init};
22580 val_t variable[2];
22581 void **closurevariable = NULL;
22582 trace.prev = tracehead; tracehead = &trace;
22583 trace.file = LOCATE_parser;
22584 variable[0] = self;
22585 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction336].i]) return;
22586 return_label705: while(false);
22587 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction336].i] = 1;
22588 tracehead = trace.prev;
22589 return;
22590 }
22591 void parser___ReduceAction337___action(val_t self, val_t param0) {
22592 struct trace_t trace = {NULL, NULL, 12946, LOCATE_parser___ReduceAction337___action};
22593 val_t variable[12];
22594 void **closurevariable = NULL;
22595 trace.prev = tracehead; tracehead = &trace;
22596 trace.file = LOCATE_parser;
22597 variable[0] = self;
22598 variable[1] = param0;
22599 variable[3] = NIT_NULL /*null*/;
22600 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22601 variable[4] = variable[5];
22602 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22603 variable[5] = variable[6];
22604 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22605 variable[6] = variable[7];
22606 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22607 variable[7] = variable[8];
22608 variable[8] = variable[7] /*nodearraylist1*/;
22609 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22610 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction337___action, LOCATE_parser, 12954); nit_exit(1);}
22611 variable[9] = variable[4] /*nodearraylist4*/;
22612 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22613 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction337___action, LOCATE_parser, 12956); nit_exit(1);}
22614 variable[11] = NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new APercentExpr*/
22615 variable[10] = variable[11];
22616 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
22617 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
22618 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
22619 return_label706: while(false);
22620 tracehead = trace.prev;
22621 return;
22622 }
22623 void parser___ReduceAction337___init(val_t self, int* init_table) {
22624 struct trace_t trace = {NULL, NULL, 12964, LOCATE_parser___ReduceAction337___init};
22625 val_t variable[2];
22626 void **closurevariable = NULL;
22627 trace.prev = tracehead; tracehead = &trace;
22628 trace.file = LOCATE_parser;
22629 variable[0] = self;
22630 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction337].i]) return;
22631 return_label707: while(false);
22632 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction337].i] = 1;
22633 tracehead = trace.prev;
22634 return;
22635 }
22636 void parser___ReduceAction338___action(val_t self, val_t param0) {
22637 struct trace_t trace = {NULL, NULL, 12968, LOCATE_parser___ReduceAction338___action};
22638 val_t variable[7];
22639 void **closurevariable = NULL;
22640 trace.prev = tracehead; tracehead = &trace;
22641 trace.file = LOCATE_parser;
22642 variable[0] = self;
22643 variable[1] = param0;
22644 variable[3] = NIT_NULL /*null*/;
22645 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22646 variable[4] = variable[5];
22647 variable[5] = variable[4] /*nodearraylist1*/;
22648 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22649 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction338___action, LOCATE_parser, 12973); nit_exit(1);}
22650 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
22651 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
22652 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
22653 return_label708: while(false);
22654 tracehead = trace.prev;
22655 return;
22656 }
22657 void parser___ReduceAction338___init(val_t self, int* init_table) {
22658 struct trace_t trace = {NULL, NULL, 12977, LOCATE_parser___ReduceAction338___init};
22659 val_t variable[2];
22660 void **closurevariable = NULL;
22661 trace.prev = tracehead; tracehead = &trace;
22662 trace.file = LOCATE_parser;
22663 variable[0] = self;
22664 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction338].i]) return;
22665 return_label709: while(false);
22666 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction338].i] = 1;
22667 tracehead = trace.prev;
22668 return;
22669 }
22670 void parser___ReduceAction339___action(val_t self, val_t param0) {
22671 struct trace_t trace = {NULL, NULL, 12981, LOCATE_parser___ReduceAction339___action};
22672 val_t variable[11];
22673 void **closurevariable = NULL;
22674 trace.prev = tracehead; tracehead = &trace;
22675 trace.file = LOCATE_parser;
22676 variable[0] = self;
22677 variable[1] = param0;
22678 variable[3] = NIT_NULL /*null*/;
22679 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22680 variable[4] = variable[5];
22681 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22682 variable[5] = variable[6];
22683 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22684 variable[6] = variable[7];
22685 variable[7] = variable[6] /*nodearraylist1*/;
22686 variable[8] = TAG_Bool(( variable[7] /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
22687 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction339___action, LOCATE_parser, 12988); nit_exit(1);}
22688 variable[8] = variable[4] /*nodearraylist3*/;
22689 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22690 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction339___action, LOCATE_parser, 12990); nit_exit(1);}
22691 variable[10] = NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr( variable[7] /*tminusnode2*/, variable[8] /*pexprnode3*/); /*new AUminusExpr*/
22692 variable[9] = variable[10];
22693 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
22694 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
22695 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
22696 return_label710: while(false);
22697 tracehead = trace.prev;
22698 return;
22699 }
22700 void parser___ReduceAction339___init(val_t self, int* init_table) {
22701 struct trace_t trace = {NULL, NULL, 12998, LOCATE_parser___ReduceAction339___init};
22702 val_t variable[2];
22703 void **closurevariable = NULL;
22704 trace.prev = tracehead; tracehead = &trace;
22705 trace.file = LOCATE_parser;
22706 variable[0] = self;
22707 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction339].i]) return;
22708 return_label711: while(false);
22709 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction339].i] = 1;
22710 tracehead = trace.prev;
22711 return;
22712 }
22713 void parser___ReduceAction340___action(val_t self, val_t param0) {
22714 struct trace_t trace = {NULL, NULL, 13002, LOCATE_parser___ReduceAction340___action};
22715 val_t variable[11];
22716 void **closurevariable = NULL;
22717 trace.prev = tracehead; tracehead = &trace;
22718 trace.file = LOCATE_parser;
22719 variable[0] = self;
22720 variable[1] = param0;
22721 variable[3] = NIT_NULL /*null*/;
22722 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22723 variable[4] = variable[5];
22724 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22725 variable[5] = variable[6];
22726 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22727 variable[6] = variable[7];
22728 variable[7] = variable[6] /*nodearraylist1*/;
22729 variable[8] = TAG_Bool(( variable[7] /*tkwoncenode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwoncenode2*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/;
22730 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction340___action, LOCATE_parser, 13009); nit_exit(1);}
22731 variable[8] = variable[4] /*nodearraylist3*/;
22732 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22733 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction340___action, LOCATE_parser, 13011); nit_exit(1);}
22734 variable[10] = NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr( variable[7] /*tkwoncenode2*/, variable[8] /*pexprnode3*/); /*new AOnceExpr*/
22735 variable[9] = variable[10];
22736 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
22737 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
22738 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
22739 return_label712: while(false);
22740 tracehead = trace.prev;
22741 return;
22742 }
22743 void parser___ReduceAction340___init(val_t self, int* init_table) {
22744 struct trace_t trace = {NULL, NULL, 13019, LOCATE_parser___ReduceAction340___init};
22745 val_t variable[2];
22746 void **closurevariable = NULL;
22747 trace.prev = tracehead; tracehead = &trace;
22748 trace.file = LOCATE_parser;
22749 variable[0] = self;
22750 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction340].i]) return;
22751 return_label713: while(false);
22752 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction340].i] = 1;
22753 tracehead = trace.prev;
22754 return;
22755 }
22756 void parser___ReduceAction341___action(val_t self, val_t param0) {
22757 struct trace_t trace = {NULL, NULL, 13023, LOCATE_parser___ReduceAction341___action};
22758 val_t variable[7];
22759 void **closurevariable = NULL;
22760 trace.prev = tracehead; tracehead = &trace;
22761 trace.file = LOCATE_parser;
22762 variable[0] = self;
22763 variable[1] = param0;
22764 variable[3] = NIT_NULL /*null*/;
22765 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22766 variable[4] = variable[5];
22767 variable[5] = variable[4] /*nodearraylist1*/;
22768 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22769 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction341___action, LOCATE_parser, 13028); nit_exit(1);}
22770 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
22771 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(53)) /*Parser::go_to*/;
22772 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
22773 return_label714: while(false);
22774 tracehead = trace.prev;
22775 return;
22776 }
22777 void parser___ReduceAction341___init(val_t self, int* init_table) {
22778 struct trace_t trace = {NULL, NULL, 13032, LOCATE_parser___ReduceAction341___init};
22779 val_t variable[2];
22780 void **closurevariable = NULL;
22781 trace.prev = tracehead; tracehead = &trace;
22782 trace.file = LOCATE_parser;
22783 variable[0] = self;
22784 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction341].i]) return;
22785 return_label715: while(false);
22786 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction341].i] = 1;
22787 tracehead = trace.prev;
22788 return;
22789 }
22790 void parser___ReduceAction342___action(val_t self, val_t param0) {
22791 struct trace_t trace = {NULL, NULL, 13036, LOCATE_parser___ReduceAction342___action};
22792 val_t variable[14];
22793 void **closurevariable = NULL;
22794 trace.prev = tracehead; tracehead = &trace;
22795 trace.file = LOCATE_parser;
22796 variable[0] = self;
22797 variable[1] = param0;
22798 variable[3] = NIT_NULL /*null*/;
22799 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22800 variable[4] = variable[5];
22801 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22802 variable[5] = variable[6];
22803 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22804 variable[6] = variable[7];
22805 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22806 variable[7] = variable[8];
22807 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22808 variable[8] = variable[9];
22809 variable[9] = variable[7] /*nodearraylist1*/;
22810 variable[10] = TAG_Bool(( variable[9] /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
22811 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction342___action, LOCATE_parser, 13045); nit_exit(1);}
22812 variable[10] = variable[5] /*nodearraylist3*/;
22813 variable[11] = TAG_Bool(( variable[10] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[10] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
22814 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction342___action, LOCATE_parser, 13047); nit_exit(1);}
22815 variable[11] = variable[4] /*nodearraylist4*/;
22816 variable[12] = TAG_Bool(( variable[11] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
22817 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction342___action, LOCATE_parser, 13049); nit_exit(1);}
22818 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode5*/)( variable[11] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
22819 if (UNTAG_Bool(variable[12])) { /*if*/
22820 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode6*/)( variable[8] /*listnode6*/) /*AbstractArray::is_empty*/;
22821 if (UNTAG_Bool(variable[12])) { /*if*/
22822 variable[8] = variable[11] /*listnode5*/ /*listnode6=*/;
22823 } else { /*if*/
22824 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[11] /*listnode5*/) /*IndexedCollection::append*/;
22825 }
22826 }
22827 variable[13] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable[9] /*tkwnewnode2*/, variable[10] /*ptypenode3*/, NIT_NULL /*null*/, variable[8] /*listnode6*/); /*new ANewExpr*/
22828 variable[12] = variable[13];
22829 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
22830 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(53)) /*Parser::go_to*/;
22831 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
22832 return_label716: while(false);
22833 tracehead = trace.prev;
22834 return;
22835 }
22836 void parser___ReduceAction342___init(val_t self, int* init_table) {
22837 struct trace_t trace = {NULL, NULL, 13066, LOCATE_parser___ReduceAction342___init};
22838 val_t variable[2];
22839 void **closurevariable = NULL;
22840 trace.prev = tracehead; tracehead = &trace;
22841 trace.file = LOCATE_parser;
22842 variable[0] = self;
22843 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction342].i]) return;
22844 return_label717: while(false);
22845 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction342].i] = 1;
22846 tracehead = trace.prev;
22847 return;
22848 }
22849 void parser___ReduceAction343___action(val_t self, val_t param0) {
22850 struct trace_t trace = {NULL, NULL, 13070, LOCATE_parser___ReduceAction343___action};
22851 val_t variable[12];
22852 void **closurevariable = NULL;
22853 trace.prev = tracehead; tracehead = &trace;
22854 trace.file = LOCATE_parser;
22855 variable[0] = self;
22856 variable[1] = param0;
22857 variable[3] = NIT_NULL /*null*/;
22858 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22859 variable[4] = variable[5];
22860 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22861 variable[5] = variable[6];
22862 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22863 variable[6] = variable[7];
22864 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22865 variable[7] = variable[8];
22866 variable[8] = variable[7] /*nodearraylist1*/;
22867 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22868 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction343___action, LOCATE_parser, 13078); nit_exit(1);}
22869 variable[9] = variable[4] /*nodearraylist4*/;
22870 variable[10] = TAG_Bool(( variable[9] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
22871 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction343___action, LOCATE_parser, 13080); nit_exit(1);}
22872 variable[11] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable[8] /*pexprnode2*/, variable[9] /*tattridnode3*/); /*new AAttrExpr*/
22873 variable[10] = variable[11];
22874 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
22875 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(54)) /*Parser::go_to*/;
22876 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
22877 return_label718: while(false);
22878 tracehead = trace.prev;
22879 return;
22880 }
22881 void parser___ReduceAction343___init(val_t self, int* init_table) {
22882 struct trace_t trace = {NULL, NULL, 13088, LOCATE_parser___ReduceAction343___init};
22883 val_t variable[2];
22884 void **closurevariable = NULL;
22885 trace.prev = tracehead; tracehead = &trace;
22886 trace.file = LOCATE_parser;
22887 variable[0] = self;
22888 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction343].i]) return;
22889 return_label719: while(false);
22890 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction343].i] = 1;
22891 tracehead = trace.prev;
22892 return;
22893 }
22894 void parser___ReduceAction344___action(val_t self, val_t param0) {
22895 struct trace_t trace = {NULL, NULL, 13092, LOCATE_parser___ReduceAction344___action};
22896 val_t variable[9];
22897 void **closurevariable = NULL;
22898 trace.prev = tracehead; tracehead = &trace;
22899 trace.file = LOCATE_parser;
22900 variable[0] = self;
22901 variable[1] = param0;
22902 variable[3] = NIT_NULL /*null*/;
22903 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22904 variable[4] = variable[5];
22905 variable[6] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
22906 variable[5] = variable[6];
22907 variable[6] = variable[4] /*nodearraylist1*/;
22908 variable[7] = TAG_Bool(( variable[6] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[6] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
22909 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction344___action, LOCATE_parser, 13099); nit_exit(1);}
22910 variable[8] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable[5] /*pexprnode2*/, variable[6] /*tattridnode3*/); /*new AAttrExpr*/
22911 variable[7] = variable[8];
22912 variable[3] = variable[7] /*pexprnode1*/ /*node_list=*/;
22913 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(54)) /*Parser::go_to*/;
22914 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
22915 return_label720: while(false);
22916 tracehead = trace.prev;
22917 return;
22918 }
22919 void parser___ReduceAction344___init(val_t self, int* init_table) {
22920 struct trace_t trace = {NULL, NULL, 13107, LOCATE_parser___ReduceAction344___init};
22921 val_t variable[2];
22922 void **closurevariable = NULL;
22923 trace.prev = tracehead; tracehead = &trace;
22924 trace.file = LOCATE_parser;
22925 variable[0] = self;
22926 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction344].i]) return;
22927 return_label721: while(false);
22928 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction344].i] = 1;
22929 tracehead = trace.prev;
22930 return;
22931 }
22932 void parser___ReduceAction345___action(val_t self, val_t param0) {
22933 struct trace_t trace = {NULL, NULL, 13111, LOCATE_parser___ReduceAction345___action};
22934 val_t variable[16];
22935 void **closurevariable = NULL;
22936 trace.prev = tracehead; tracehead = &trace;
22937 trace.file = LOCATE_parser;
22938 variable[0] = self;
22939 variable[1] = param0;
22940 variable[3] = NIT_NULL /*null*/;
22941 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22942 variable[4] = variable[5];
22943 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22944 variable[5] = variable[6];
22945 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22946 variable[6] = variable[7];
22947 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22948 variable[7] = variable[8];
22949 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22950 variable[8] = variable[9];
22951 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22952 variable[9] = variable[10];
22953 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22954 variable[10] = variable[11];
22955 variable[11] = variable[8] /*nodearraylist1*/;
22956 variable[12] = TAG_Bool(( variable[11] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22957 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction345___action, LOCATE_parser, 13122); nit_exit(1);}
22958 variable[12] = variable[5] /*nodearraylist4*/;
22959 variable[13] = TAG_Bool(( variable[12] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
22960 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction345___action, LOCATE_parser, 13124); nit_exit(1);}
22961 variable[13] = variable[4] /*nodearraylist5*/;
22962 variable[14] = TAG_Bool(( variable[13] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
22963 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction345___action, LOCATE_parser, 13126); nit_exit(1);}
22964 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*listnode4*/)( variable[13] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
22965 if (UNTAG_Bool(variable[14])) { /*if*/
22966 variable[14] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode5*/)( variable[9] /*listnode5*/) /*AbstractArray::is_empty*/;
22967 if (UNTAG_Bool(variable[14])) { /*if*/
22968 variable[9] = variable[13] /*listnode4*/ /*listnode5=*/;
22969 } else { /*if*/
22970 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode5*/)( variable[9] /*listnode5*/, variable[13] /*listnode4*/) /*IndexedCollection::append*/;
22971 }
22972 }
22973 variable[15] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[11] /*pexprnode2*/, variable[12] /*tidnode3*/, variable[9] /*listnode5*/, variable[10] /*listnode6*/); /*new ACallExpr*/
22974 variable[14] = variable[15];
22975 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
22976 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(54)) /*Parser::go_to*/;
22977 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
22978 return_label722: while(false);
22979 tracehead = trace.prev;
22980 return;
22981 }
22982 void parser___ReduceAction345___init(val_t self, int* init_table) {
22983 struct trace_t trace = {NULL, NULL, 13143, LOCATE_parser___ReduceAction345___init};
22984 val_t variable[2];
22985 void **closurevariable = NULL;
22986 trace.prev = tracehead; tracehead = &trace;
22987 trace.file = LOCATE_parser;
22988 variable[0] = self;
22989 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction345].i]) return;
22990 return_label723: while(false);
22991 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction345].i] = 1;
22992 tracehead = trace.prev;
22993 return;
22994 }
22995 void parser___ReduceAction346___action(val_t self, val_t param0) {
22996 struct trace_t trace = {NULL, NULL, 13147, LOCATE_parser___ReduceAction346___action};
22997 val_t variable[13];
22998 void **closurevariable = NULL;
22999 trace.prev = tracehead; tracehead = &trace;
23000 trace.file = LOCATE_parser;
23001 variable[0] = self;
23002 variable[1] = param0;
23003 variable[3] = NIT_NULL /*null*/;
23004 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23005 variable[4] = variable[5];
23006 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23007 variable[5] = variable[6];
23008 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23009 variable[6] = variable[7];
23010 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23011 variable[7] = variable[8];
23012 variable[9] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
23013 variable[8] = variable[9];
23014 variable[9] = variable[5] /*nodearraylist1*/;
23015 variable[10] = TAG_Bool(( variable[9] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
23016 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction346___action, LOCATE_parser, 13157); nit_exit(1);}
23017 variable[10] = variable[4] /*nodearraylist2*/;
23018 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23019 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction346___action, LOCATE_parser, 13159); nit_exit(1);}
23020 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
23021 if (UNTAG_Bool(variable[11])) { /*if*/
23022 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
23023 if (UNTAG_Bool(variable[11])) { /*if*/
23024 variable[6] = variable[10] /*listnode4*/ /*listnode5=*/;
23025 } else { /*if*/
23026 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
23027 }
23028 }
23029 variable[12] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[8] /*pexprnode2*/, variable[9] /*tidnode3*/, variable[6] /*listnode5*/, variable[7] /*listnode6*/); /*new ACallExpr*/
23030 variable[11] = variable[12];
23031 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
23032 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(54)) /*Parser::go_to*/;
23033 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
23034 return_label724: while(false);
23035 tracehead = trace.prev;
23036 return;
23037 }
23038 void parser___ReduceAction346___init(val_t self, int* init_table) {
23039 struct trace_t trace = {NULL, NULL, 13176, LOCATE_parser___ReduceAction346___init};
23040 val_t variable[2];
23041 void **closurevariable = NULL;
23042 trace.prev = tracehead; tracehead = &trace;
23043 trace.file = LOCATE_parser;
23044 variable[0] = self;
23045 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction346].i]) return;
23046 return_label725: while(false);
23047 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction346].i] = 1;
23048 tracehead = trace.prev;
23049 return;
23050 }
23051 void parser___ReduceAction347___action(val_t self, val_t param0) {
23052 struct trace_t trace = {NULL, NULL, 13180, LOCATE_parser___ReduceAction347___action};
23053 val_t variable[11];
23054 void **closurevariable = NULL;
23055 trace.prev = tracehead; tracehead = &trace;
23056 trace.file = LOCATE_parser;
23057 variable[0] = self;
23058 variable[1] = param0;
23059 variable[3] = NIT_NULL /*null*/;
23060 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23061 variable[4] = variable[5];
23062 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23063 variable[5] = variable[6];
23064 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23065 variable[6] = variable[7];
23066 variable[7] = variable[5] /*nodearraylist1*/;
23067 variable[8] = TAG_Bool(( variable[7] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
23068 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction347___action, LOCATE_parser, 13187); nit_exit(1);}
23069 variable[8] = variable[4] /*nodearraylist2*/;
23070 variable[9] = TAG_Bool(( variable[8] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23071 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction347___action, LOCATE_parser, 13189); nit_exit(1);}
23072 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
23073 if (UNTAG_Bool(variable[9])) { /*if*/
23074 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
23075 if (UNTAG_Bool(variable[9])) { /*if*/
23076 variable[6] = variable[8] /*listnode4*/ /*listnode5=*/;
23077 } else { /*if*/
23078 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[8] /*listnode4*/) /*IndexedCollection::append*/;
23079 }
23080 }
23081 variable[10] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable[7] /*tkwsupernode3*/, variable[6] /*listnode5*/); /*new ASuperExpr*/
23082 variable[9] = variable[10];
23083 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
23084 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(54)) /*Parser::go_to*/;
23085 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
23086 return_label726: while(false);
23087 tracehead = trace.prev;
23088 return;
23089 }
23090 void parser___ReduceAction347___init(val_t self, int* init_table) {
23091 struct trace_t trace = {NULL, NULL, 13205, LOCATE_parser___ReduceAction347___init};
23092 val_t variable[2];
23093 void **closurevariable = NULL;
23094 trace.prev = tracehead; tracehead = &trace;
23095 trace.file = LOCATE_parser;
23096 variable[0] = self;
23097 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction347].i]) return;
23098 return_label727: while(false);
23099 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction347].i] = 1;
23100 tracehead = trace.prev;
23101 return;
23102 }
23103 void parser___ReduceAction348___action(val_t self, val_t param0) {
23104 struct trace_t trace = {NULL, NULL, 13209, LOCATE_parser___ReduceAction348___action};
23105 val_t variable[13];
23106 void **closurevariable = NULL;
23107 trace.prev = tracehead; tracehead = &trace;
23108 trace.file = LOCATE_parser;
23109 variable[0] = self;
23110 variable[1] = param0;
23111 variable[3] = NIT_NULL /*null*/;
23112 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23113 variable[4] = variable[5];
23114 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23115 variable[5] = variable[6];
23116 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23117 variable[6] = variable[7];
23118 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23119 variable[7] = variable[8];
23120 variable[8] = variable[6] /*nodearraylist1*/;
23121 variable[9] = TAG_Bool(( variable[8] /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
23122 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction348___action, LOCATE_parser, 13217); nit_exit(1);}
23123 variable[9] = variable[5] /*nodearraylist2*/;
23124 variable[10] = TAG_Bool(( variable[9] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
23125 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction348___action, LOCATE_parser, 13219); nit_exit(1);}
23126 variable[10] = variable[4] /*nodearraylist3*/;
23127 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23128 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction348___action, LOCATE_parser, 13221); nit_exit(1);}
23129 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
23130 if (UNTAG_Bool(variable[11])) { /*if*/
23131 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
23132 if (UNTAG_Bool(variable[11])) { /*if*/
23133 variable[7] = variable[10] /*listnode4*/ /*listnode5=*/;
23134 } else { /*if*/
23135 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
23136 }
23137 }
23138 variable[12] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( variable[8] /*pqualifiednode2*/, variable[9] /*tkwsupernode3*/, variable[7] /*listnode5*/); /*new ASuperExpr*/
23139 variable[11] = variable[12];
23140 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
23141 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(54)) /*Parser::go_to*/;
23142 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
23143 return_label728: while(false);
23144 tracehead = trace.prev;
23145 return;
23146 }
23147 void parser___ReduceAction348___init(val_t self, int* init_table) {
23148 struct trace_t trace = {NULL, NULL, 13237, LOCATE_parser___ReduceAction348___init};
23149 val_t variable[2];
23150 void **closurevariable = NULL;
23151 trace.prev = tracehead; tracehead = &trace;
23152 trace.file = LOCATE_parser;
23153 variable[0] = self;
23154 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction348].i]) return;
23155 return_label729: while(false);
23156 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction348].i] = 1;
23157 tracehead = trace.prev;
23158 return;
23159 }
23160 void parser___ReduceAction349___action(val_t self, val_t param0) {
23161 struct trace_t trace = {NULL, NULL, 13241, LOCATE_parser___ReduceAction349___action};
23162 val_t variable[15];
23163 void **closurevariable = NULL;
23164 trace.prev = tracehead; tracehead = &trace;
23165 trace.file = LOCATE_parser;
23166 variable[0] = self;
23167 variable[1] = param0;
23168 variable[3] = NIT_NULL /*null*/;
23169 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23170 variable[4] = variable[5];
23171 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23172 variable[5] = variable[6];
23173 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23174 variable[6] = variable[7];
23175 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23176 variable[7] = variable[8];
23177 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23178 variable[8] = variable[9];
23179 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23180 variable[9] = variable[10];
23181 variable[10] = variable[8] /*nodearraylist1*/;
23182 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23183 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction349___action, LOCATE_parser, 13251); nit_exit(1);}
23184 variable[11] = variable[5] /*nodearraylist4*/;
23185 variable[12] = TAG_Bool(( variable[11] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
23186 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction349___action, LOCATE_parser, 13253); nit_exit(1);}
23187 variable[12] = variable[4] /*nodearraylist5*/;
23188 variable[13] = TAG_Bool(( variable[12] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23189 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction349___action, LOCATE_parser, 13255); nit_exit(1);}
23190 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode4*/)( variable[12] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
23191 if (UNTAG_Bool(variable[13])) { /*if*/
23192 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode5*/)( variable[9] /*listnode5*/) /*AbstractArray::is_empty*/;
23193 if (UNTAG_Bool(variable[13])) { /*if*/
23194 variable[9] = variable[12] /*listnode4*/ /*listnode5=*/;
23195 } else { /*if*/
23196 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode5*/)( variable[9] /*listnode5*/, variable[12] /*listnode4*/) /*IndexedCollection::append*/;
23197 }
23198 }
23199 variable[14] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[10] /*pexprnode2*/, variable[11] /*tkwinitnode3*/, variable[9] /*listnode5*/); /*new AInitExpr*/
23200 variable[13] = variable[14];
23201 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
23202 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(54)) /*Parser::go_to*/;
23203 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
23204 return_label730: while(false);
23205 tracehead = trace.prev;
23206 return;
23207 }
23208 void parser___ReduceAction349___init(val_t self, int* init_table) {
23209 struct trace_t trace = {NULL, NULL, 13271, LOCATE_parser___ReduceAction349___init};
23210 val_t variable[2];
23211 void **closurevariable = NULL;
23212 trace.prev = tracehead; tracehead = &trace;
23213 trace.file = LOCATE_parser;
23214 variable[0] = self;
23215 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction349].i]) return;
23216 return_label731: while(false);
23217 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction349].i] = 1;
23218 tracehead = trace.prev;
23219 return;
23220 }
23221 void parser___ReduceAction350___action(val_t self, val_t param0) {
23222 struct trace_t trace = {NULL, NULL, 13275, LOCATE_parser___ReduceAction350___action};
23223 val_t variable[12];
23224 void **closurevariable = NULL;
23225 trace.prev = tracehead; tracehead = &trace;
23226 trace.file = LOCATE_parser;
23227 variable[0] = self;
23228 variable[1] = param0;
23229 variable[3] = NIT_NULL /*null*/;
23230 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23231 variable[4] = variable[5];
23232 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23233 variable[5] = variable[6];
23234 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23235 variable[6] = variable[7];
23236 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
23237 variable[7] = variable[8];
23238 variable[8] = variable[5] /*nodearraylist1*/;
23239 variable[9] = TAG_Bool(( variable[8] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
23240 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction350___action, LOCATE_parser, 13284); nit_exit(1);}
23241 variable[9] = variable[4] /*nodearraylist2*/;
23242 variable[10] = TAG_Bool(( variable[9] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23243 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction350___action, LOCATE_parser, 13286); nit_exit(1);}
23244 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[9] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
23245 if (UNTAG_Bool(variable[10])) { /*if*/
23246 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
23247 if (UNTAG_Bool(variable[10])) { /*if*/
23248 variable[6] = variable[9] /*listnode4*/ /*listnode5=*/;
23249 } else { /*if*/
23250 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[9] /*listnode4*/) /*IndexedCollection::append*/;
23251 }
23252 }
23253 variable[11] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[7] /*pexprnode2*/, variable[8] /*tkwinitnode3*/, variable[6] /*listnode5*/); /*new AInitExpr*/
23254 variable[10] = variable[11];
23255 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
23256 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(54)) /*Parser::go_to*/;
23257 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
23258 return_label732: while(false);
23259 tracehead = trace.prev;
23260 return;
23261 }
23262 void parser___ReduceAction350___init(val_t self, int* init_table) {
23263 struct trace_t trace = {NULL, NULL, 13302, LOCATE_parser___ReduceAction350___init};
23264 val_t variable[2];
23265 void **closurevariable = NULL;
23266 trace.prev = tracehead; tracehead = &trace;
23267 trace.file = LOCATE_parser;
23268 variable[0] = self;
23269 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction350].i]) return;
23270 return_label733: while(false);
23271 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction350].i] = 1;
23272 tracehead = trace.prev;
23273 return;
23274 }
23275 void parser___ReduceAction351___action(val_t self, val_t param0) {
23276 struct trace_t trace = {NULL, NULL, 13306, LOCATE_parser___ReduceAction351___action};
23277 val_t variable[12];
23278 void **closurevariable = NULL;
23279 trace.prev = tracehead; tracehead = &trace;
23280 trace.file = LOCATE_parser;
23281 variable[0] = self;
23282 variable[1] = param0;
23283 variable[3] = NIT_NULL /*null*/;
23284 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23285 variable[4] = variable[5];
23286 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23287 variable[5] = variable[6];
23288 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23289 variable[6] = variable[7];
23290 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23291 variable[7] = variable[8];
23292 variable[8] = variable[5] /*nodearraylist1*/;
23293 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23294 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction351___action, LOCATE_parser, 13314); nit_exit(1);}
23295 variable[9] = variable[4] /*nodearraylist2*/;
23296 variable[10] = TAG_Bool(( variable[9] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23297 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction351___action, LOCATE_parser, 13316); nit_exit(1);}
23298 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[9] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[9] /*listnode3*/)( variable[9] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
23299 if (UNTAG_Bool(variable[10])) { /*if*/
23300 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode4*/)( variable[6] /*listnode4*/) /*AbstractArray::is_empty*/;
23301 if (UNTAG_Bool(variable[10])) { /*if*/
23302 variable[6] = variable[9] /*listnode3*/ /*listnode4=*/;
23303 } else { /*if*/
23304 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode4*/)( variable[6] /*listnode4*/, variable[9] /*listnode3*/) /*IndexedCollection::append*/;
23305 }
23306 }
23307 variable[11] = NEW_ABraExpr_parser_prod___ABraExpr___init_abraexpr( variable[8] /*pexprnode2*/, variable[6] /*listnode4*/, variable[7] /*listnode5*/); /*new ABraExpr*/
23308 variable[10] = variable[11];
23309 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
23310 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(54)) /*Parser::go_to*/;
23311 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
23312 return_label734: while(false);
23313 tracehead = trace.prev;
23314 return;
23315 }
23316 void parser___ReduceAction351___init(val_t self, int* init_table) {
23317 struct trace_t trace = {NULL, NULL, 13332, LOCATE_parser___ReduceAction351___init};
23318 val_t variable[2];
23319 void **closurevariable = NULL;
23320 trace.prev = tracehead; tracehead = &trace;
23321 trace.file = LOCATE_parser;
23322 variable[0] = self;
23323 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction351].i]) return;
23324 return_label735: while(false);
23325 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction351].i] = 1;
23326 tracehead = trace.prev;
23327 return;
23328 }
23329 void parser___ReduceAction352___action(val_t self, val_t param0) {
23330 struct trace_t trace = {NULL, NULL, 13336, LOCATE_parser___ReduceAction352___action};
23331 val_t variable[18];
23332 void **closurevariable = NULL;
23333 trace.prev = tracehead; tracehead = &trace;
23334 trace.file = LOCATE_parser;
23335 variable[0] = self;
23336 variable[1] = param0;
23337 variable[3] = NIT_NULL /*null*/;
23338 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23339 variable[4] = variable[5];
23340 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23341 variable[5] = variable[6];
23342 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23343 variable[6] = variable[7];
23344 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23345 variable[7] = variable[8];
23346 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23347 variable[8] = variable[9];
23348 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23349 variable[9] = variable[10];
23350 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23351 variable[10] = variable[11];
23352 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23353 variable[11] = variable[12];
23354 variable[12] = variable[10] /*nodearraylist1*/;
23355 variable[13] = TAG_Bool(( variable[12] /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
23356 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction352___action, LOCATE_parser, 13348); nit_exit(1);}
23357 variable[13] = variable[8] /*nodearraylist3*/;
23358 variable[14] = TAG_Bool(( variable[13] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[13] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
23359 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction352___action, LOCATE_parser, 13350); nit_exit(1);}
23360 variable[14] = variable[5] /*nodearraylist6*/;
23361 variable[15] = TAG_Bool(( variable[14] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
23362 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction352___action, LOCATE_parser, 13352); nit_exit(1);}
23363 variable[15] = variable[4] /*nodearraylist7*/;
23364 variable[16] = TAG_Bool(( variable[15] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23365 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction352___action, LOCATE_parser, 13354); nit_exit(1);}
23366 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*listnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*listnode5*/)( variable[15] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
23367 if (UNTAG_Bool(variable[16])) { /*if*/
23368 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode6*/)( variable[11] /*listnode6*/) /*AbstractArray::is_empty*/;
23369 if (UNTAG_Bool(variable[16])) { /*if*/
23370 variable[11] = variable[15] /*listnode5*/ /*listnode6=*/;
23371 } else { /*if*/
23372 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode6*/)( variable[11] /*listnode6*/, variable[15] /*listnode5*/) /*IndexedCollection::append*/;
23373 }
23374 }
23375 variable[17] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable[12] /*tkwnewnode2*/, variable[13] /*ptypenode3*/, variable[14] /*tidnode4*/, variable[11] /*listnode6*/); /*new ANewExpr*/
23376 variable[16] = variable[17];
23377 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
23378 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(54)) /*Parser::go_to*/;
23379 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
23380 return_label736: while(false);
23381 tracehead = trace.prev;
23382 return;
23383 }
23384 void parser___ReduceAction352___init(val_t self, int* init_table) {
23385 struct trace_t trace = {NULL, NULL, 13371, LOCATE_parser___ReduceAction352___init};
23386 val_t variable[2];
23387 void **closurevariable = NULL;
23388 trace.prev = tracehead; tracehead = &trace;
23389 trace.file = LOCATE_parser;
23390 variable[0] = self;
23391 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction352].i]) return;
23392 return_label737: while(false);
23393 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction352].i] = 1;
23394 tracehead = trace.prev;
23395 return;
23396 }
23397 void parser___ReduceAction353___action(val_t self, val_t param0) {
23398 struct trace_t trace = {NULL, NULL, 13375, LOCATE_parser___ReduceAction353___action};
23399 val_t variable[17];
23400 void **closurevariable = NULL;
23401 trace.prev = tracehead; tracehead = &trace;
23402 trace.file = LOCATE_parser;
23403 variable[0] = self;
23404 variable[1] = param0;
23405 variable[3] = NIT_NULL /*null*/;
23406 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23407 variable[4] = variable[5];
23408 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23409 variable[5] = variable[6];
23410 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23411 variable[6] = variable[7];
23412 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23413 variable[7] = variable[8];
23414 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23415 variable[8] = variable[9];
23416 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23417 variable[9] = variable[10];
23418 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23419 variable[10] = variable[11];
23420 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23421 variable[11] = variable[12];
23422 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23423 variable[12] = variable[13];
23424 variable[13] = variable[10] /*nodearraylist3*/;
23425 variable[14] = TAG_Bool(( variable[13] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23426 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction353___action, LOCATE_parser, 13388); nit_exit(1);}
23427 variable[14] = variable[6] /*nodearraylist7*/;
23428 variable[15] = TAG_Bool(( variable[14] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23429 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction353___action, LOCATE_parser, 13390); nit_exit(1);}
23430 variable[16] = NEW_ACrangeExpr_parser_prod___ACrangeExpr___init_acrangeexpr( variable[13] /*pexprnode2*/, variable[14] /*pexprnode3*/); /*new ACrangeExpr*/
23431 variable[15] = variable[16];
23432 variable[3] = variable[15] /*pexprnode1*/ /*node_list=*/;
23433 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(54)) /*Parser::go_to*/;
23434 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
23435 return_label738: while(false);
23436 tracehead = trace.prev;
23437 return;
23438 }
23439 void parser___ReduceAction353___init(val_t self, int* init_table) {
23440 struct trace_t trace = {NULL, NULL, 13398, LOCATE_parser___ReduceAction353___init};
23441 val_t variable[2];
23442 void **closurevariable = NULL;
23443 trace.prev = tracehead; tracehead = &trace;
23444 trace.file = LOCATE_parser;
23445 variable[0] = self;
23446 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction353].i]) return;
23447 return_label739: while(false);
23448 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction353].i] = 1;
23449 tracehead = trace.prev;
23450 return;
23451 }
23452 void parser___ReduceAction354___action(val_t self, val_t param0) {
23453 struct trace_t trace = {NULL, NULL, 13402, LOCATE_parser___ReduceAction354___action};
23454 val_t variable[17];
23455 void **closurevariable = NULL;
23456 trace.prev = tracehead; tracehead = &trace;
23457 trace.file = LOCATE_parser;
23458 variable[0] = self;
23459 variable[1] = param0;
23460 variable[3] = NIT_NULL /*null*/;
23461 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23462 variable[4] = variable[5];
23463 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23464 variable[5] = variable[6];
23465 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23466 variable[6] = variable[7];
23467 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23468 variable[7] = variable[8];
23469 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23470 variable[8] = variable[9];
23471 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23472 variable[9] = variable[10];
23473 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23474 variable[10] = variable[11];
23475 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23476 variable[11] = variable[12];
23477 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23478 variable[12] = variable[13];
23479 variable[13] = variable[10] /*nodearraylist3*/;
23480 variable[14] = TAG_Bool(( variable[13] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23481 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction354___action, LOCATE_parser, 13415); nit_exit(1);}
23482 variable[14] = variable[6] /*nodearraylist7*/;
23483 variable[15] = TAG_Bool(( variable[14] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23484 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction354___action, LOCATE_parser, 13417); nit_exit(1);}
23485 variable[16] = NEW_AOrangeExpr_parser_prod___AOrangeExpr___init_aorangeexpr( variable[13] /*pexprnode2*/, variable[14] /*pexprnode3*/); /*new AOrangeExpr*/
23486 variable[15] = variable[16];
23487 variable[3] = variable[15] /*pexprnode1*/ /*node_list=*/;
23488 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(54)) /*Parser::go_to*/;
23489 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
23490 return_label740: while(false);
23491 tracehead = trace.prev;
23492 return;
23493 }
23494 void parser___ReduceAction354___init(val_t self, int* init_table) {
23495 struct trace_t trace = {NULL, NULL, 13425, LOCATE_parser___ReduceAction354___init};
23496 val_t variable[2];
23497 void **closurevariable = NULL;
23498 trace.prev = tracehead; tracehead = &trace;
23499 trace.file = LOCATE_parser;
23500 variable[0] = self;
23501 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction354].i]) return;
23502 return_label741: while(false);
23503 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction354].i] = 1;
23504 tracehead = trace.prev;
23505 return;
23506 }
23507 void parser___ReduceAction355___action(val_t self, val_t param0) {
23508 struct trace_t trace = {NULL, NULL, 13429, LOCATE_parser___ReduceAction355___action};
23509 val_t variable[9];
23510 void **closurevariable = NULL;
23511 trace.prev = tracehead; tracehead = &trace;
23512 trace.file = LOCATE_parser;
23513 variable[0] = self;
23514 variable[1] = param0;
23515 variable[3] = NIT_NULL /*null*/;
23516 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23517 variable[4] = variable[5];
23518 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23519 variable[5] = variable[6];
23520 variable[6] = variable[4] /*nodearraylist1*/;
23521 variable[7] = TAG_Bool(( variable[6] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23522 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction355___action, LOCATE_parser, 13435); nit_exit(1);}
23523 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[6] /*listnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*listnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*listnode2*/)( variable[6] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
23524 if (UNTAG_Bool(variable[7])) { /*if*/
23525 variable[7] = CALL_abstract_collection___Collection___is_empty( variable[5] /*listnode3*/)( variable[5] /*listnode3*/) /*AbstractArray::is_empty*/;
23526 if (UNTAG_Bool(variable[7])) { /*if*/
23527 variable[5] = variable[6] /*listnode2*/ /*listnode3=*/;
23528 } else { /*if*/
23529 CALL_abstract_collection___IndexedCollection___append( variable[5] /*listnode3*/)( variable[5] /*listnode3*/, variable[6] /*listnode2*/) /*IndexedCollection::append*/;
23530 }
23531 }
23532 variable[8] = NEW_AArrayExpr_parser_prod___AArrayExpr___init_aarrayexpr( variable[5] /*listnode3*/); /*new AArrayExpr*/
23533 variable[7] = variable[8];
23534 variable[3] = variable[7] /*pexprnode1*/ /*node_list=*/;
23535 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(54)) /*Parser::go_to*/;
23536 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
23537 return_label742: while(false);
23538 tracehead = trace.prev;
23539 return;
23540 }
23541 void parser___ReduceAction355___init(val_t self, int* init_table) {
23542 struct trace_t trace = {NULL, NULL, 13449, LOCATE_parser___ReduceAction355___init};
23543 val_t variable[2];
23544 void **closurevariable = NULL;
23545 trace.prev = tracehead; tracehead = &trace;
23546 trace.file = LOCATE_parser;
23547 variable[0] = self;
23548 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction355].i]) return;
23549 return_label743: while(false);
23550 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction355].i] = 1;
23551 tracehead = trace.prev;
23552 return;
23553 }
23554 void parser___ReduceAction356___action(val_t self, val_t param0) {
23555 struct trace_t trace = {NULL, NULL, 13453, LOCATE_parser___ReduceAction356___action};
23556 val_t variable[8];
23557 void **closurevariable = NULL;
23558 trace.prev = tracehead; tracehead = &trace;
23559 trace.file = LOCATE_parser;
23560 variable[0] = self;
23561 variable[1] = param0;
23562 variable[3] = NIT_NULL /*null*/;
23563 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23564 variable[4] = variable[5];
23565 variable[5] = variable[4] /*nodearraylist1*/;
23566 variable[6] = TAG_Bool(( variable[5] /*tkwselfnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwselfnode2*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/;
23567 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction356___action, LOCATE_parser, 13458); nit_exit(1);}
23568 variable[7] = NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr( variable[5] /*tkwselfnode2*/); /*new ASelfExpr*/
23569 variable[6] = variable[7];
23570 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
23571 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(54)) /*Parser::go_to*/;
23572 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
23573 return_label744: while(false);
23574 tracehead = trace.prev;
23575 return;
23576 }
23577 void parser___ReduceAction356___init(val_t self, int* init_table) {
23578 struct trace_t trace = {NULL, NULL, 13465, LOCATE_parser___ReduceAction356___init};
23579 val_t variable[2];
23580 void **closurevariable = NULL;
23581 trace.prev = tracehead; tracehead = &trace;
23582 trace.file = LOCATE_parser;
23583 variable[0] = self;
23584 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction356].i]) return;
23585 return_label745: while(false);
23586 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction356].i] = 1;
23587 tracehead = trace.prev;
23588 return;
23589 }
23590 void parser___ReduceAction357___action(val_t self, val_t param0) {
23591 struct trace_t trace = {NULL, NULL, 13469, LOCATE_parser___ReduceAction357___action};
23592 val_t variable[8];
23593 void **closurevariable = NULL;
23594 trace.prev = tracehead; tracehead = &trace;
23595 trace.file = LOCATE_parser;
23596 variable[0] = self;
23597 variable[1] = param0;
23598 variable[3] = NIT_NULL /*null*/;
23599 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23600 variable[4] = variable[5];
23601 variable[5] = variable[4] /*nodearraylist1*/;
23602 variable[6] = TAG_Bool(( variable[5] /*tkwtruenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwtruenode2*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/;
23603 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction357___action, LOCATE_parser, 13474); nit_exit(1);}
23604 variable[7] = NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr( variable[5] /*tkwtruenode2*/); /*new ATrueExpr*/
23605 variable[6] = variable[7];
23606 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
23607 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(54)) /*Parser::go_to*/;
23608 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
23609 return_label746: while(false);
23610 tracehead = trace.prev;
23611 return;
23612 }
23613 void parser___ReduceAction357___init(val_t self, int* init_table) {
23614 struct trace_t trace = {NULL, NULL, 13481, LOCATE_parser___ReduceAction357___init};
23615 val_t variable[2];
23616 void **closurevariable = NULL;
23617 trace.prev = tracehead; tracehead = &trace;
23618 trace.file = LOCATE_parser;
23619 variable[0] = self;
23620 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction357].i]) return;
23621 return_label747: while(false);
23622 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction357].i] = 1;
23623 tracehead = trace.prev;
23624 return;
23625 }
23626 void parser___ReduceAction358___action(val_t self, val_t param0) {
23627 struct trace_t trace = {NULL, NULL, 13485, LOCATE_parser___ReduceAction358___action};
23628 val_t variable[8];
23629 void **closurevariable = NULL;
23630 trace.prev = tracehead; tracehead = &trace;
23631 trace.file = LOCATE_parser;
23632 variable[0] = self;
23633 variable[1] = param0;
23634 variable[3] = NIT_NULL /*null*/;
23635 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23636 variable[4] = variable[5];
23637 variable[5] = variable[4] /*nodearraylist1*/;
23638 variable[6] = TAG_Bool(( variable[5] /*tkwfalsenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwfalsenode2*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/;
23639 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction358___action, LOCATE_parser, 13490); nit_exit(1);}
23640 variable[7] = NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr( variable[5] /*tkwfalsenode2*/); /*new AFalseExpr*/
23641 variable[6] = variable[7];
23642 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
23643 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(54)) /*Parser::go_to*/;
23644 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
23645 return_label748: while(false);
23646 tracehead = trace.prev;
23647 return;
23648 }
23649 void parser___ReduceAction358___init(val_t self, int* init_table) {
23650 struct trace_t trace = {NULL, NULL, 13497, LOCATE_parser___ReduceAction358___init};
23651 val_t variable[2];
23652 void **closurevariable = NULL;
23653 trace.prev = tracehead; tracehead = &trace;
23654 trace.file = LOCATE_parser;
23655 variable[0] = self;
23656 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction358].i]) return;
23657 return_label749: while(false);
23658 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction358].i] = 1;
23659 tracehead = trace.prev;
23660 return;
23661 }
23662 void parser___ReduceAction359___action(val_t self, val_t param0) {
23663 struct trace_t trace = {NULL, NULL, 13501, LOCATE_parser___ReduceAction359___action};
23664 val_t variable[8];
23665 void **closurevariable = NULL;
23666 trace.prev = tracehead; tracehead = &trace;
23667 trace.file = LOCATE_parser;
23668 variable[0] = self;
23669 variable[1] = param0;
23670 variable[3] = NIT_NULL /*null*/;
23671 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23672 variable[4] = variable[5];
23673 variable[5] = variable[4] /*nodearraylist1*/;
23674 variable[6] = TAG_Bool(( variable[5] /*tkwnullnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwnullnode2*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
23675 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction359___action, LOCATE_parser, 13506); nit_exit(1);}
23676 variable[7] = NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr( variable[5] /*tkwnullnode2*/); /*new ANullExpr*/
23677 variable[6] = variable[7];
23678 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
23679 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(54)) /*Parser::go_to*/;
23680 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
23681 return_label750: while(false);
23682 tracehead = trace.prev;
23683 return;
23684 }
23685 void parser___ReduceAction359___init(val_t self, int* init_table) {
23686 struct trace_t trace = {NULL, NULL, 13513, LOCATE_parser___ReduceAction359___init};
23687 val_t variable[2];
23688 void **closurevariable = NULL;
23689 trace.prev = tracehead; tracehead = &trace;
23690 trace.file = LOCATE_parser;
23691 variable[0] = self;
23692 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction359].i]) return;
23693 return_label751: while(false);
23694 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction359].i] = 1;
23695 tracehead = trace.prev;
23696 return;
23697 }
23698 void parser___ReduceAction360___action(val_t self, val_t param0) {
23699 struct trace_t trace = {NULL, NULL, 13517, LOCATE_parser___ReduceAction360___action};
23700 val_t variable[8];
23701 void **closurevariable = NULL;
23702 trace.prev = tracehead; tracehead = &trace;
23703 trace.file = LOCATE_parser;
23704 variable[0] = self;
23705 variable[1] = param0;
23706 variable[3] = NIT_NULL /*null*/;
23707 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23708 variable[4] = variable[5];
23709 variable[5] = variable[4] /*nodearraylist1*/;
23710 variable[6] = TAG_Bool(( variable[5] /*tnumbernode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tnumbernode2*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/;
23711 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction360___action, LOCATE_parser, 13522); nit_exit(1);}
23712 variable[7] = NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr( variable[5] /*tnumbernode2*/); /*new AIntExpr*/
23713 variable[6] = variable[7];
23714 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
23715 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(54)) /*Parser::go_to*/;
23716 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
23717 return_label752: while(false);
23718 tracehead = trace.prev;
23719 return;
23720 }
23721 void parser___ReduceAction360___init(val_t self, int* init_table) {
23722 struct trace_t trace = {NULL, NULL, 13529, LOCATE_parser___ReduceAction360___init};
23723 val_t variable[2];
23724 void **closurevariable = NULL;
23725 trace.prev = tracehead; tracehead = &trace;
23726 trace.file = LOCATE_parser;
23727 variable[0] = self;
23728 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction360].i]) return;
23729 return_label753: while(false);
23730 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction360].i] = 1;
23731 tracehead = trace.prev;
23732 return;
23733 }
23734 void parser___ReduceAction361___action(val_t self, val_t param0) {
23735 struct trace_t trace = {NULL, NULL, 13533, LOCATE_parser___ReduceAction361___action};
23736 val_t variable[8];
23737 void **closurevariable = NULL;
23738 trace.prev = tracehead; tracehead = &trace;
23739 trace.file = LOCATE_parser;
23740 variable[0] = self;
23741 variable[1] = param0;
23742 variable[3] = NIT_NULL /*null*/;
23743 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23744 variable[4] = variable[5];
23745 variable[5] = variable[4] /*nodearraylist1*/;
23746 variable[6] = TAG_Bool(( variable[5] /*tfloatnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tfloatnode2*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/;
23747 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction361___action, LOCATE_parser, 13538); nit_exit(1);}
23748 variable[7] = NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr( variable[5] /*tfloatnode2*/); /*new AFloatExpr*/
23749 variable[6] = variable[7];
23750 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
23751 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(54)) /*Parser::go_to*/;
23752 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
23753 return_label754: while(false);
23754 tracehead = trace.prev;
23755 return;
23756 }
23757 void parser___ReduceAction361___init(val_t self, int* init_table) {
23758 struct trace_t trace = {NULL, NULL, 13545, LOCATE_parser___ReduceAction361___init};
23759 val_t variable[2];
23760 void **closurevariable = NULL;
23761 trace.prev = tracehead; tracehead = &trace;
23762 trace.file = LOCATE_parser;
23763 variable[0] = self;
23764 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction361].i]) return;
23765 return_label755: while(false);
23766 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction361].i] = 1;
23767 tracehead = trace.prev;
23768 return;
23769 }
23770 void parser___ReduceAction362___action(val_t self, val_t param0) {
23771 struct trace_t trace = {NULL, NULL, 13549, LOCATE_parser___ReduceAction362___action};
23772 val_t variable[8];
23773 void **closurevariable = NULL;
23774 trace.prev = tracehead; tracehead = &trace;
23775 trace.file = LOCATE_parser;
23776 variable[0] = self;
23777 variable[1] = param0;
23778 variable[3] = NIT_NULL /*null*/;
23779 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23780 variable[4] = variable[5];
23781 variable[5] = variable[4] /*nodearraylist1*/;
23782 variable[6] = TAG_Bool(( variable[5] /*tcharnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tcharnode2*/, COLOR_TChar, ID_TChar)) /*cast TChar*/;
23783 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction362___action, LOCATE_parser, 13554); nit_exit(1);}
23784 variable[7] = NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr( variable[5] /*tcharnode2*/); /*new ACharExpr*/
23785 variable[6] = variable[7];
23786 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
23787 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(54)) /*Parser::go_to*/;
23788 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
23789 return_label756: while(false);
23790 tracehead = trace.prev;
23791 return;
23792 }
23793 void parser___ReduceAction362___init(val_t self, int* init_table) {
23794 struct trace_t trace = {NULL, NULL, 13561, LOCATE_parser___ReduceAction362___init};
23795 val_t variable[2];
23796 void **closurevariable = NULL;
23797 trace.prev = tracehead; tracehead = &trace;
23798 trace.file = LOCATE_parser;
23799 variable[0] = self;
23800 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction362].i]) return;
23801 return_label757: while(false);
23802 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction362].i] = 1;
23803 tracehead = trace.prev;
23804 return;
23805 }
23806 void parser___ReduceAction363___action(val_t self, val_t param0) {
23807 struct trace_t trace = {NULL, NULL, 13565, LOCATE_parser___ReduceAction363___action};
23808 val_t variable[8];
23809 void **closurevariable = NULL;
23810 trace.prev = tracehead; tracehead = &trace;
23811 trace.file = LOCATE_parser;
23812 variable[0] = self;
23813 variable[1] = param0;
23814 variable[3] = NIT_NULL /*null*/;
23815 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23816 variable[4] = variable[5];
23817 variable[5] = variable[4] /*nodearraylist1*/;
23818 variable[6] = TAG_Bool(( variable[5] /*tstringnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tstringnode2*/, COLOR_TString, ID_TString)) /*cast TString*/;
23819 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction363___action, LOCATE_parser, 13570); nit_exit(1);}
23820 variable[7] = NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr( variable[5] /*tstringnode2*/); /*new AStringExpr*/
23821 variable[6] = variable[7];
23822 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
23823 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(54)) /*Parser::go_to*/;
23824 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
23825 return_label758: while(false);
23826 tracehead = trace.prev;
23827 return;
23828 }
23829 void parser___ReduceAction363___init(val_t self, int* init_table) {
23830 struct trace_t trace = {NULL, NULL, 13577, LOCATE_parser___ReduceAction363___init};
23831 val_t variable[2];
23832 void **closurevariable = NULL;
23833 trace.prev = tracehead; tracehead = &trace;
23834 trace.file = LOCATE_parser;
23835 variable[0] = self;
23836 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction363].i]) return;
23837 return_label759: while(false);
23838 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction363].i] = 1;
23839 tracehead = trace.prev;
23840 return;
23841 }
23842 void parser___ReduceAction364___action(val_t self, val_t param0) {
23843 struct trace_t trace = {NULL, NULL, 13581, LOCATE_parser___ReduceAction364___action};
23844 val_t variable[7];
23845 void **closurevariable = NULL;
23846 trace.prev = tracehead; tracehead = &trace;
23847 trace.file = LOCATE_parser;
23848 variable[0] = self;
23849 variable[1] = param0;
23850 variable[3] = NIT_NULL /*null*/;
23851 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23852 variable[4] = variable[5];
23853 variable[5] = variable[4] /*nodearraylist1*/;
23854 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23855 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction364___action, LOCATE_parser, 13586); nit_exit(1);}
23856 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
23857 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(54)) /*Parser::go_to*/;
23858 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
23859 return_label760: while(false);
23860 tracehead = trace.prev;
23861 return;
23862 }
23863 void parser___ReduceAction364___init(val_t self, int* init_table) {
23864 struct trace_t trace = {NULL, NULL, 13590, LOCATE_parser___ReduceAction364___init};
23865 val_t variable[2];
23866 void **closurevariable = NULL;
23867 trace.prev = tracehead; tracehead = &trace;
23868 trace.file = LOCATE_parser;
23869 variable[0] = self;
23870 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction364].i]) return;
23871 return_label761: while(false);
23872 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction364].i] = 1;
23873 tracehead = trace.prev;
23874 return;
23875 }
23876 void parser___ReduceAction365___action(val_t self, val_t param0) {
23877 struct trace_t trace = {NULL, NULL, 13594, LOCATE_parser___ReduceAction365___action};
23878 val_t variable[9];
23879 void **closurevariable = NULL;
23880 trace.prev = tracehead; tracehead = &trace;
23881 trace.file = LOCATE_parser;
23882 variable[0] = self;
23883 variable[1] = param0;
23884 variable[3] = NIT_NULL /*null*/;
23885 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23886 variable[4] = variable[5];
23887 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23888 variable[5] = variable[6];
23889 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23890 variable[6] = variable[7];
23891 variable[7] = variable[5] /*nodearraylist2*/;
23892 variable[8] = TAG_Bool(( variable[7] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23893 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction365___action, LOCATE_parser, 13601); nit_exit(1);}
23894 variable[3] = variable[7] /*pexprnode1*/ /*node_list=*/;
23895 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(54)) /*Parser::go_to*/;
23896 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
23897 return_label762: while(false);
23898 tracehead = trace.prev;
23899 return;
23900 }
23901 void parser___ReduceAction365___init(val_t self, int* init_table) {
23902 struct trace_t trace = {NULL, NULL, 13605, LOCATE_parser___ReduceAction365___init};
23903 val_t variable[2];
23904 void **closurevariable = NULL;
23905 trace.prev = tracehead; tracehead = &trace;
23906 trace.file = LOCATE_parser;
23907 variable[0] = self;
23908 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction365].i]) return;
23909 return_label763: while(false);
23910 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction365].i] = 1;
23911 tracehead = trace.prev;
23912 return;
23913 }
23914 void parser___ReduceAction366___action(val_t self, val_t param0) {
23915 struct trace_t trace = {NULL, NULL, 13609, LOCATE_parser___ReduceAction366___action};
23916 val_t variable[19];
23917 void **closurevariable = NULL;
23918 trace.prev = tracehead; tracehead = &trace;
23919 trace.file = LOCATE_parser;
23920 variable[0] = self;
23921 variable[1] = param0;
23922 variable[3] = NIT_NULL /*null*/;
23923 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23924 variable[4] = variable[5];
23925 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23926 variable[5] = variable[6];
23927 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23928 variable[6] = variable[7];
23929 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23930 variable[7] = variable[8];
23931 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23932 variable[8] = variable[9];
23933 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23934 variable[9] = variable[10];
23935 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23936 variable[10] = variable[11];
23937 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23938 variable[11] = variable[12];
23939 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23940 variable[12] = variable[13];
23941 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23942 variable[13] = variable[14];
23943 variable[14] = variable[13] /*nodearraylist1*/;
23944 variable[15] = TAG_Bool(( variable[14] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23945 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction366___action, LOCATE_parser, 13623); nit_exit(1);}
23946 variable[15] = variable[10] /*nodearraylist4*/;
23947 variable[16] = TAG_Bool(( variable[15] /*tkwasnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwasnode3*/, COLOR_TKwas, ID_TKwas)) /*cast TKwas*/;
23948 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction366___action, LOCATE_parser, 13625); nit_exit(1);}
23949 variable[16] = variable[6] /*nodearraylist8*/;
23950 variable[17] = TAG_Bool(( variable[16] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[16] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
23951 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction366___action, LOCATE_parser, 13627); nit_exit(1);}
23952 variable[18] = NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr( variable[14] /*pexprnode2*/, variable[15] /*tkwasnode3*/, variable[16] /*ptypenode4*/); /*new AAsCastExpr*/
23953 variable[17] = variable[18];
23954 variable[3] = variable[17] /*pexprnode1*/ /*node_list=*/;
23955 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(54)) /*Parser::go_to*/;
23956 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
23957 return_label764: while(false);
23958 tracehead = trace.prev;
23959 return;
23960 }
23961 void parser___ReduceAction366___init(val_t self, int* init_table) {
23962 struct trace_t trace = {NULL, NULL, 13636, LOCATE_parser___ReduceAction366___init};
23963 val_t variable[2];
23964 void **closurevariable = NULL;
23965 trace.prev = tracehead; tracehead = &trace;
23966 trace.file = LOCATE_parser;
23967 variable[0] = self;
23968 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction366].i]) return;
23969 return_label765: while(false);
23970 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction366].i] = 1;
23971 tracehead = trace.prev;
23972 return;
23973 }
23974 void parser___ReduceAction367___action(val_t self, val_t param0) {
23975 struct trace_t trace = {NULL, NULL, 13640, LOCATE_parser___ReduceAction367___action};
23976 val_t variable[11];
23977 void **closurevariable = NULL;
23978 trace.prev = tracehead; tracehead = &trace;
23979 trace.file = LOCATE_parser;
23980 variable[0] = self;
23981 variable[1] = param0;
23982 variable[3] = NIT_NULL /*null*/;
23983 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23984 variable[4] = variable[5];
23985 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23986 variable[5] = variable[6];
23987 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23988 variable[6] = variable[7];
23989 variable[7] = variable[5] /*nodearraylist1*/;
23990 variable[8] = TAG_Bool(( variable[7] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23991 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction367___action, LOCATE_parser, 13647); nit_exit(1);}
23992 variable[8] = variable[4] /*nodearraylist2*/;
23993 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23994 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction367___action, LOCATE_parser, 13649); nit_exit(1);}
23995 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*listnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*listnode2*/)( variable[7] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
23996 if (UNTAG_Bool(variable[9])) { /*if*/
23997 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode4*/)( variable[6] /*listnode4*/) /*AbstractArray::is_empty*/;
23998 if (UNTAG_Bool(variable[9])) { /*if*/
23999 variable[6] = variable[7] /*listnode2*/ /*listnode4=*/;
24000 } else { /*if*/
24001 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode4*/)( variable[6] /*listnode4*/, variable[7] /*listnode2*/) /*IndexedCollection::append*/;
24002 }
24003 }
24004 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*pexprnode3*/ == NIT_NULL /*null*/) || (( variable[8] /*pexprnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*pexprnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*pexprnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*pexprnode3*/)( variable[8] /*pexprnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24005 if (UNTAG_Bool(variable[9])) { /*if*/
24006 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode4*/)( variable[6] /*listnode4*/, variable[8] /*pexprnode3*/) /*AbstractArray::add*/;
24007 }
24008 variable[10] = NEW_ASuperstringExpr_parser_prod___ASuperstringExpr___init_asuperstringexpr( variable[6] /*listnode4*/); /*new ASuperstringExpr*/
24009 variable[9] = variable[10];
24010 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
24011 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(55)) /*Parser::go_to*/;
24012 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
24013 return_label766: while(false);
24014 tracehead = trace.prev;
24015 return;
24016 }
24017 void parser___ReduceAction367___init(val_t self, int* init_table) {
24018 struct trace_t trace = {NULL, NULL, 13666, LOCATE_parser___ReduceAction367___init};
24019 val_t variable[2];
24020 void **closurevariable = NULL;
24021 trace.prev = tracehead; tracehead = &trace;
24022 trace.file = LOCATE_parser;
24023 variable[0] = self;
24024 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction367].i]) return;
24025 return_label767: while(false);
24026 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction367].i] = 1;
24027 tracehead = trace.prev;
24028 return;
24029 }
24030 void parser___ReduceAction368___action(val_t self, val_t param0) {
24031 struct trace_t trace = {NULL, NULL, 13670, LOCATE_parser___ReduceAction368___action};
24032 val_t variable[13];
24033 void **closurevariable = NULL;
24034 trace.prev = tracehead; tracehead = &trace;
24035 trace.file = LOCATE_parser;
24036 variable[0] = self;
24037 variable[1] = param0;
24038 variable[3] = NIT_NULL /*null*/;
24039 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24040 variable[4] = variable[5];
24041 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24042 variable[5] = variable[6];
24043 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24044 variable[6] = variable[7];
24045 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24046 variable[7] = variable[8];
24047 variable[8] = variable[6] /*nodearraylist1*/;
24048 variable[9] = TAG_Bool(( variable[8] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
24049 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction368___action, LOCATE_parser, 13678); nit_exit(1);}
24050 variable[9] = variable[5] /*nodearraylist2*/;
24051 variable[10] = TAG_Bool(( variable[9] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
24052 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction368___action, LOCATE_parser, 13680); nit_exit(1);}
24053 variable[10] = variable[4] /*nodearraylist3*/;
24054 variable[11] = TAG_Bool(( variable[10] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24055 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction368___action, LOCATE_parser, 13682); nit_exit(1);}
24056 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*listnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*listnode2*/)( variable[8] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24057 if (UNTAG_Bool(variable[11])) { /*if*/
24058 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
24059 if (UNTAG_Bool(variable[11])) { /*if*/
24060 variable[7] = variable[8] /*listnode2*/ /*listnode5=*/;
24061 } else { /*if*/
24062 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[8] /*listnode2*/) /*IndexedCollection::append*/;
24063 }
24064 }
24065 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[9] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[9] /*listnode3*/)( variable[9] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24066 if (UNTAG_Bool(variable[11])) { /*if*/
24067 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
24068 if (UNTAG_Bool(variable[11])) { /*if*/
24069 variable[7] = variable[9] /*listnode3*/ /*listnode5=*/;
24070 } else { /*if*/
24071 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[9] /*listnode3*/) /*IndexedCollection::append*/;
24072 }
24073 }
24074 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*pexprnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*pexprnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*pexprnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*pexprnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*pexprnode4*/)( variable[10] /*pexprnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24075 if (UNTAG_Bool(variable[11])) { /*if*/
24076 CALL_abstract_collection___SimpleCollection___add( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[10] /*pexprnode4*/) /*AbstractArray::add*/;
24077 }
24078 variable[12] = NEW_ASuperstringExpr_parser_prod___ASuperstringExpr___init_asuperstringexpr( variable[7] /*listnode5*/); /*new ASuperstringExpr*/
24079 variable[11] = variable[12];
24080 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
24081 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(55)) /*Parser::go_to*/;
24082 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
24083 return_label768: while(false);
24084 tracehead = trace.prev;
24085 return;
24086 }
24087 void parser___ReduceAction368___init(val_t self, int* init_table) {
24088 struct trace_t trace = {NULL, NULL, 13706, LOCATE_parser___ReduceAction368___init};
24089 val_t variable[2];
24090 void **closurevariable = NULL;
24091 trace.prev = tracehead; tracehead = &trace;
24092 trace.file = LOCATE_parser;
24093 variable[0] = self;
24094 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction368].i]) return;
24095 return_label769: while(false);
24096 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction368].i] = 1;
24097 tracehead = trace.prev;
24098 return;
24099 }
24100 void parser___ReduceAction369___action(val_t self, val_t param0) {
24101 struct trace_t trace = {NULL, NULL, 13710, LOCATE_parser___ReduceAction369___action};
24102 val_t variable[12];
24103 void **closurevariable = NULL;
24104 trace.prev = tracehead; tracehead = &trace;
24105 trace.file = LOCATE_parser;
24106 variable[0] = self;
24107 variable[1] = param0;
24108 variable[3] = NIT_NULL /*null*/;
24109 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24110 variable[4] = variable[5];
24111 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24112 variable[5] = variable[6];
24113 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24114 variable[6] = variable[7];
24115 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24116 variable[7] = variable[8];
24117 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24118 variable[8] = variable[9];
24119 variable[9] = variable[7] /*nodearraylist1*/;
24120 variable[10] = TAG_Bool(( variable[9] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24121 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction369___action, LOCATE_parser, 13719); nit_exit(1);}
24122 variable[10] = variable[5] /*nodearraylist3*/;
24123 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24124 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction369___action, LOCATE_parser, 13721); nit_exit(1);}
24125 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable[9] /*pexprnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[9] /*pexprnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[9] /*pexprnode1*/)( variable[9] /*pexprnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24126 if (UNTAG_Bool(variable[11])) { /*if*/
24127 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode3*/)( variable[8] /*listnode3*/, variable[9] /*pexprnode1*/) /*AbstractArray::add*/;
24128 }
24129 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable[10] /*pexprnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*pexprnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*pexprnode2*/)( variable[10] /*pexprnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24130 if (UNTAG_Bool(variable[11])) { /*if*/
24131 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode3*/)( variable[8] /*listnode3*/, variable[10] /*pexprnode2*/) /*AbstractArray::add*/;
24132 }
24133 variable[3] = variable[8] /*listnode3*/ /*node_list=*/;
24134 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(56)) /*Parser::go_to*/;
24135 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
24136 return_label770: while(false);
24137 tracehead = trace.prev;
24138 return;
24139 }
24140 void parser___ReduceAction369___init(val_t self, int* init_table) {
24141 struct trace_t trace = {NULL, NULL, 13731, LOCATE_parser___ReduceAction369___init};
24142 val_t variable[2];
24143 void **closurevariable = NULL;
24144 trace.prev = tracehead; tracehead = &trace;
24145 trace.file = LOCATE_parser;
24146 variable[0] = self;
24147 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction369].i]) return;
24148 return_label771: while(false);
24149 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction369].i] = 1;
24150 tracehead = trace.prev;
24151 return;
24152 }
24153 void parser___ReduceAction370___action(val_t self, val_t param0) {
24154 struct trace_t trace = {NULL, NULL, 13735, LOCATE_parser___ReduceAction370___action};
24155 val_t variable[8];
24156 void **closurevariable = NULL;
24157 trace.prev = tracehead; tracehead = &trace;
24158 trace.file = LOCATE_parser;
24159 variable[0] = self;
24160 variable[1] = param0;
24161 variable[3] = NIT_NULL /*null*/;
24162 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24163 variable[4] = variable[5];
24164 variable[5] = variable[4] /*nodearraylist1*/;
24165 variable[6] = TAG_Bool(( variable[5] /*tstartstringnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tstartstringnode2*/, COLOR_TStartString, ID_TStartString)) /*cast TStartString*/;
24166 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction370___action, LOCATE_parser, 13740); nit_exit(1);}
24167 variable[7] = NEW_AStartStringExpr_parser_prod___AStartStringExpr___init_astartstringexpr( variable[5] /*tstartstringnode2*/); /*new AStartStringExpr*/
24168 variable[6] = variable[7];
24169 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
24170 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(57)) /*Parser::go_to*/;
24171 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
24172 return_label772: while(false);
24173 tracehead = trace.prev;
24174 return;
24175 }
24176 void parser___ReduceAction370___init(val_t self, int* init_table) {
24177 struct trace_t trace = {NULL, NULL, 13747, LOCATE_parser___ReduceAction370___init};
24178 val_t variable[2];
24179 void **closurevariable = NULL;
24180 trace.prev = tracehead; tracehead = &trace;
24181 trace.file = LOCATE_parser;
24182 variable[0] = self;
24183 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction370].i]) return;
24184 return_label773: while(false);
24185 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction370].i] = 1;
24186 tracehead = trace.prev;
24187 return;
24188 }
24189 void parser___ReduceAction371___action(val_t self, val_t param0) {
24190 struct trace_t trace = {NULL, NULL, 13751, LOCATE_parser___ReduceAction371___action};
24191 val_t variable[12];
24192 void **closurevariable = NULL;
24193 trace.prev = tracehead; tracehead = &trace;
24194 trace.file = LOCATE_parser;
24195 variable[0] = self;
24196 variable[1] = param0;
24197 variable[3] = NIT_NULL /*null*/;
24198 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24199 variable[4] = variable[5];
24200 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24201 variable[5] = variable[6];
24202 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24203 variable[6] = variable[7];
24204 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24205 variable[7] = variable[8];
24206 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24207 variable[8] = variable[9];
24208 variable[9] = variable[7] /*nodearraylist1*/;
24209 variable[10] = TAG_Bool(( variable[9] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24210 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction371___action, LOCATE_parser, 13760); nit_exit(1);}
24211 variable[10] = variable[5] /*nodearraylist3*/;
24212 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24213 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction371___action, LOCATE_parser, 13762); nit_exit(1);}
24214 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable[9] /*pexprnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[9] /*pexprnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[9] /*pexprnode1*/)( variable[9] /*pexprnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24215 if (UNTAG_Bool(variable[11])) { /*if*/
24216 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode3*/)( variable[8] /*listnode3*/, variable[9] /*pexprnode1*/) /*AbstractArray::add*/;
24217 }
24218 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable[10] /*pexprnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*pexprnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*pexprnode2*/)( variable[10] /*pexprnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24219 if (UNTAG_Bool(variable[11])) { /*if*/
24220 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode3*/)( variable[8] /*listnode3*/, variable[10] /*pexprnode2*/) /*AbstractArray::add*/;
24221 }
24222 variable[3] = variable[8] /*listnode3*/ /*node_list=*/;
24223 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(58)) /*Parser::go_to*/;
24224 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
24225 return_label774: while(false);
24226 tracehead = trace.prev;
24227 return;
24228 }
24229 void parser___ReduceAction371___init(val_t self, int* init_table) {
24230 struct trace_t trace = {NULL, NULL, 13772, LOCATE_parser___ReduceAction371___init};
24231 val_t variable[2];
24232 void **closurevariable = NULL;
24233 trace.prev = tracehead; tracehead = &trace;
24234 trace.file = LOCATE_parser;
24235 variable[0] = self;
24236 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction371].i]) return;
24237 return_label775: while(false);
24238 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction371].i] = 1;
24239 tracehead = trace.prev;
24240 return;
24241 }
24242 void parser___ReduceAction372___action(val_t self, val_t param0) {
24243 struct trace_t trace = {NULL, NULL, 13776, LOCATE_parser___ReduceAction372___action};
24244 val_t variable[8];
24245 void **closurevariable = NULL;
24246 trace.prev = tracehead; tracehead = &trace;
24247 trace.file = LOCATE_parser;
24248 variable[0] = self;
24249 variable[1] = param0;
24250 variable[3] = NIT_NULL /*null*/;
24251 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24252 variable[4] = variable[5];
24253 variable[5] = variable[4] /*nodearraylist1*/;
24254 variable[6] = TAG_Bool(( variable[5] /*tmidstringnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tmidstringnode2*/, COLOR_TMidString, ID_TMidString)) /*cast TMidString*/;
24255 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction372___action, LOCATE_parser, 13781); nit_exit(1);}
24256 variable[7] = NEW_AMidStringExpr_parser_prod___AMidStringExpr___init_amidstringexpr( variable[5] /*tmidstringnode2*/); /*new AMidStringExpr*/
24257 variable[6] = variable[7];
24258 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
24259 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(59)) /*Parser::go_to*/;
24260 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
24261 return_label776: while(false);
24262 tracehead = trace.prev;
24263 return;
24264 }
24265 void parser___ReduceAction372___init(val_t self, int* init_table) {
24266 struct trace_t trace = {NULL, NULL, 13788, LOCATE_parser___ReduceAction372___init};
24267 val_t variable[2];
24268 void **closurevariable = NULL;
24269 trace.prev = tracehead; tracehead = &trace;
24270 trace.file = LOCATE_parser;
24271 variable[0] = self;
24272 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction372].i]) return;
24273 return_label777: while(false);
24274 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction372].i] = 1;
24275 tracehead = trace.prev;
24276 return;
24277 }
24278 void parser___ReduceAction373___action(val_t self, val_t param0) {
24279 struct trace_t trace = {NULL, NULL, 13792, LOCATE_parser___ReduceAction373___action};
24280 val_t variable[8];
24281 void **closurevariable = NULL;
24282 trace.prev = tracehead; tracehead = &trace;
24283 trace.file = LOCATE_parser;
24284 variable[0] = self;
24285 variable[1] = param0;
24286 variable[3] = NIT_NULL /*null*/;
24287 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24288 variable[4] = variable[5];
24289 variable[5] = variable[4] /*nodearraylist1*/;
24290 variable[6] = TAG_Bool(( variable[5] /*tendstringnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tendstringnode2*/, COLOR_TEndString, ID_TEndString)) /*cast TEndString*/;
24291 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction373___action, LOCATE_parser, 13797); nit_exit(1);}
24292 variable[7] = NEW_AEndStringExpr_parser_prod___AEndStringExpr___init_aendstringexpr( variable[5] /*tendstringnode2*/); /*new AEndStringExpr*/
24293 variable[6] = variable[7];
24294 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
24295 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(60)) /*Parser::go_to*/;
24296 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
24297 return_label778: while(false);
24298 tracehead = trace.prev;
24299 return;
24300 }
24301 void parser___ReduceAction373___init(val_t self, int* init_table) {
24302 struct trace_t trace = {NULL, NULL, 13804, LOCATE_parser___ReduceAction373___init};
24303 val_t variable[2];
24304 void **closurevariable = NULL;
24305 trace.prev = tracehead; tracehead = &trace;
24306 trace.file = LOCATE_parser;
24307 variable[0] = self;
24308 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction373].i]) return;
24309 return_label779: while(false);
24310 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction373].i] = 1;
24311 tracehead = trace.prev;
24312 return;
24313 }
24314 void parser___ReduceAction374___action(val_t self, val_t param0) {
24315 struct trace_t trace = {NULL, NULL, 13808, LOCATE_parser___ReduceAction374___action};
24316 val_t variable[12];
24317 void **closurevariable = NULL;
24318 trace.prev = tracehead; tracehead = &trace;
24319 trace.file = LOCATE_parser;
24320 variable[0] = self;
24321 variable[1] = param0;
24322 variable[3] = NIT_NULL /*null*/;
24323 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24324 variable[4] = variable[5];
24325 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24326 variable[5] = variable[6];
24327 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24328 variable[6] = variable[7];
24329 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24330 variable[7] = variable[8];
24331 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24332 variable[8] = variable[9];
24333 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24334 variable[9] = variable[10];
24335 variable[10] = variable[6] /*nodearraylist3*/;
24336 variable[11] = TAG_Bool(( variable[10] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24337 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction374___action, LOCATE_parser, 13818); nit_exit(1);}
24338 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable[10] /*pexprnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*pexprnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*pexprnode1*/)( variable[10] /*pexprnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24339 if (UNTAG_Bool(variable[11])) { /*if*/
24340 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode2*/)( variable[9] /*listnode2*/, variable[10] /*pexprnode1*/) /*AbstractArray::add*/;
24341 }
24342 variable[3] = variable[9] /*listnode2*/ /*node_list=*/;
24343 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(61)) /*Parser::go_to*/;
24344 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
24345 return_label780: while(false);
24346 tracehead = trace.prev;
24347 return;
24348 }
24349 void parser___ReduceAction374___init(val_t self, int* init_table) {
24350 struct trace_t trace = {NULL, NULL, 13825, LOCATE_parser___ReduceAction374___init};
24351 val_t variable[2];
24352 void **closurevariable = NULL;
24353 trace.prev = tracehead; tracehead = &trace;
24354 trace.file = LOCATE_parser;
24355 variable[0] = self;
24356 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction374].i]) return;
24357 return_label781: while(false);
24358 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction374].i] = 1;
24359 tracehead = trace.prev;
24360 return;
24361 }
24362 void parser___ReduceAction375___action(val_t self, val_t param0) {
24363 struct trace_t trace = {NULL, NULL, 13829, LOCATE_parser___ReduceAction375___action};
24364 val_t variable[14];
24365 void **closurevariable = NULL;
24366 trace.prev = tracehead; tracehead = &trace;
24367 trace.file = LOCATE_parser;
24368 variable[0] = self;
24369 variable[1] = param0;
24370 variable[3] = NIT_NULL /*null*/;
24371 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24372 variable[4] = variable[5];
24373 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24374 variable[5] = variable[6];
24375 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24376 variable[6] = variable[7];
24377 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24378 variable[7] = variable[8];
24379 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24380 variable[8] = variable[9];
24381 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24382 variable[9] = variable[10];
24383 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24384 variable[10] = variable[11];
24385 variable[11] = variable[7] /*nodearraylist3*/;
24386 variable[12] = TAG_Bool(( variable[11] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24387 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction375___action, LOCATE_parser, 13840); nit_exit(1);}
24388 variable[12] = variable[5] /*nodearraylist5*/;
24389 variable[13] = TAG_Bool(( variable[12] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
24390 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction375___action, LOCATE_parser, 13842); nit_exit(1);}
24391 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable[11] /*pexprnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*pexprnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*pexprnode1*/)( variable[11] /*pexprnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24392 if (UNTAG_Bool(variable[13])) { /*if*/
24393 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, variable[11] /*pexprnode1*/) /*AbstractArray::add*/;
24394 }
24395 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode2*/)( variable[12] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24396 if (UNTAG_Bool(variable[13])) { /*if*/
24397 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode3*/)( variable[10] /*listnode3*/) /*AbstractArray::is_empty*/;
24398 if (UNTAG_Bool(variable[13])) { /*if*/
24399 variable[10] = variable[12] /*listnode2*/ /*listnode3=*/;
24400 } else { /*if*/
24401 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, variable[12] /*listnode2*/) /*IndexedCollection::append*/;
24402 }
24403 }
24404 variable[3] = variable[10] /*listnode3*/ /*node_list=*/;
24405 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(61)) /*Parser::go_to*/;
24406 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
24407 return_label782: while(false);
24408 tracehead = trace.prev;
24409 return;
24410 }
24411 void parser___ReduceAction375___init(val_t self, int* init_table) {
24412 struct trace_t trace = {NULL, NULL, 13856, LOCATE_parser___ReduceAction375___init};
24413 val_t variable[2];
24414 void **closurevariable = NULL;
24415 trace.prev = tracehead; tracehead = &trace;
24416 trace.file = LOCATE_parser;
24417 variable[0] = self;
24418 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction375].i]) return;
24419 return_label783: while(false);
24420 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction375].i] = 1;
24421 tracehead = trace.prev;
24422 return;
24423 }
24424 void parser___ReduceAction376___action(val_t self, val_t param0) {
24425 struct trace_t trace = {NULL, NULL, 13860, LOCATE_parser___ReduceAction376___action};
24426 val_t variable[9];
24427 void **closurevariable = NULL;
24428 trace.prev = tracehead; tracehead = &trace;
24429 trace.file = LOCATE_parser;
24430 variable[0] = self;
24431 variable[1] = param0;
24432 variable[3] = NIT_NULL /*null*/;
24433 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24434 variable[4] = variable[5];
24435 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24436 variable[5] = variable[6];
24437 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24438 variable[6] = variable[7];
24439 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24440 variable[7] = variable[8];
24441 variable[3] = variable[7] /*listnode1*/ /*node_list=*/;
24442 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(61)) /*Parser::go_to*/;
24443 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
24444 return_label784: while(false);
24445 tracehead = trace.prev;
24446 return;
24447 }
24448 void parser___ReduceAction376___init(val_t self, int* init_table) {
24449 struct trace_t trace = {NULL, NULL, 13870, LOCATE_parser___ReduceAction376___init};
24450 val_t variable[2];
24451 void **closurevariable = NULL;
24452 trace.prev = tracehead; tracehead = &trace;
24453 trace.file = LOCATE_parser;
24454 variable[0] = self;
24455 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction376].i]) return;
24456 return_label785: while(false);
24457 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction376].i] = 1;
24458 tracehead = trace.prev;
24459 return;
24460 }
24461 void parser___ReduceAction377___action(val_t self, val_t param0) {
24462 struct trace_t trace = {NULL, NULL, 13874, LOCATE_parser___ReduceAction377___action};
24463 val_t variable[6];
24464 void **closurevariable = NULL;
24465 trace.prev = tracehead; tracehead = &trace;
24466 trace.file = LOCATE_parser;
24467 variable[0] = self;
24468 variable[1] = param0;
24469 variable[3] = NIT_NULL /*null*/;
24470 variable[5] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24471 variable[4] = variable[5];
24472 variable[3] = variable[4] /*listnode1*/ /*node_list=*/;
24473 variable[5] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(61)) /*Parser::go_to*/;
24474 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
24475 return_label786: while(false);
24476 tracehead = trace.prev;
24477 return;
24478 }
24479 void parser___ReduceAction377___init(val_t self, int* init_table) {
24480 struct trace_t trace = {NULL, NULL, 13881, LOCATE_parser___ReduceAction377___init};
24481 val_t variable[2];
24482 void **closurevariable = NULL;
24483 trace.prev = tracehead; tracehead = &trace;
24484 trace.file = LOCATE_parser;
24485 variable[0] = self;
24486 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction377].i]) return;
24487 return_label787: while(false);
24488 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction377].i] = 1;
24489 tracehead = trace.prev;
24490 return;
24491 }
24492 void parser___ReduceAction378___action(val_t self, val_t param0) {
24493 struct trace_t trace = {NULL, NULL, 13885, LOCATE_parser___ReduceAction378___action};
24494 val_t variable[12];
24495 void **closurevariable = NULL;
24496 trace.prev = tracehead; tracehead = &trace;
24497 trace.file = LOCATE_parser;
24498 variable[0] = self;
24499 variable[1] = param0;
24500 variable[3] = NIT_NULL /*null*/;
24501 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24502 variable[4] = variable[5];
24503 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24504 variable[5] = variable[6];
24505 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24506 variable[6] = variable[7];
24507 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24508 variable[7] = variable[8];
24509 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24510 variable[8] = variable[9];
24511 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24512 variable[9] = variable[10];
24513 variable[10] = variable[6] /*nodearraylist3*/;
24514 variable[11] = TAG_Bool(( variable[10] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24515 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction378___action, LOCATE_parser, 13895); nit_exit(1);}
24516 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable[10] /*pexprnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*pexprnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*pexprnode1*/)( variable[10] /*pexprnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24517 if (UNTAG_Bool(variable[11])) { /*if*/
24518 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode2*/)( variable[9] /*listnode2*/, variable[10] /*pexprnode1*/) /*AbstractArray::add*/;
24519 }
24520 variable[3] = variable[9] /*listnode2*/ /*node_list=*/;
24521 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(62)) /*Parser::go_to*/;
24522 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
24523 return_label788: while(false);
24524 tracehead = trace.prev;
24525 return;
24526 }
24527 void parser___ReduceAction378___init(val_t self, int* init_table) {
24528 struct trace_t trace = {NULL, NULL, 13902, LOCATE_parser___ReduceAction378___init};
24529 val_t variable[2];
24530 void **closurevariable = NULL;
24531 trace.prev = tracehead; tracehead = &trace;
24532 trace.file = LOCATE_parser;
24533 variable[0] = self;
24534 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction378].i]) return;
24535 return_label789: while(false);
24536 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction378].i] = 1;
24537 tracehead = trace.prev;
24538 return;
24539 }
24540 void parser___ReduceAction379___action(val_t self, val_t param0) {
24541 struct trace_t trace = {NULL, NULL, 13906, LOCATE_parser___ReduceAction379___action};
24542 val_t variable[14];
24543 void **closurevariable = NULL;
24544 trace.prev = tracehead; tracehead = &trace;
24545 trace.file = LOCATE_parser;
24546 variable[0] = self;
24547 variable[1] = param0;
24548 variable[3] = NIT_NULL /*null*/;
24549 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24550 variable[4] = variable[5];
24551 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24552 variable[5] = variable[6];
24553 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24554 variable[6] = variable[7];
24555 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24556 variable[7] = variable[8];
24557 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24558 variable[8] = variable[9];
24559 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24560 variable[9] = variable[10];
24561 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24562 variable[10] = variable[11];
24563 variable[11] = variable[7] /*nodearraylist3*/;
24564 variable[12] = TAG_Bool(( variable[11] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24565 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction379___action, LOCATE_parser, 13917); nit_exit(1);}
24566 variable[12] = variable[5] /*nodearraylist5*/;
24567 variable[13] = TAG_Bool(( variable[12] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
24568 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction379___action, LOCATE_parser, 13919); nit_exit(1);}
24569 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable[11] /*pexprnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*pexprnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*pexprnode1*/)( variable[11] /*pexprnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24570 if (UNTAG_Bool(variable[13])) { /*if*/
24571 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, variable[11] /*pexprnode1*/) /*AbstractArray::add*/;
24572 }
24573 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode2*/)( variable[12] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24574 if (UNTAG_Bool(variable[13])) { /*if*/
24575 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode3*/)( variable[10] /*listnode3*/) /*AbstractArray::is_empty*/;
24576 if (UNTAG_Bool(variable[13])) { /*if*/
24577 variable[10] = variable[12] /*listnode2*/ /*listnode3=*/;
24578 } else { /*if*/
24579 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, variable[12] /*listnode2*/) /*IndexedCollection::append*/;
24580 }
24581 }
24582 variable[3] = variable[10] /*listnode3*/ /*node_list=*/;
24583 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(62)) /*Parser::go_to*/;
24584 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
24585 return_label790: while(false);
24586 tracehead = trace.prev;
24587 return;
24588 }
24589 void parser___ReduceAction379___init(val_t self, int* init_table) {
24590 struct trace_t trace = {NULL, NULL, 13933, LOCATE_parser___ReduceAction379___init};
24591 val_t variable[2];
24592 void **closurevariable = NULL;
24593 trace.prev = tracehead; tracehead = &trace;
24594 trace.file = LOCATE_parser;
24595 variable[0] = self;
24596 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction379].i]) return;
24597 return_label791: while(false);
24598 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction379].i] = 1;
24599 tracehead = trace.prev;
24600 return;
24601 }
24602 void parser___ReduceAction380___action(val_t self, val_t param0) {
24603 struct trace_t trace = {NULL, NULL, 13937, LOCATE_parser___ReduceAction380___action};
24604 val_t variable[8];
24605 void **closurevariable = NULL;
24606 trace.prev = tracehead; tracehead = &trace;
24607 trace.file = LOCATE_parser;
24608 variable[0] = self;
24609 variable[1] = param0;
24610 variable[3] = NIT_NULL /*null*/;
24611 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24612 variable[4] = variable[5];
24613 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24614 variable[5] = variable[6];
24615 variable[6] = variable[4] /*nodearraylist1*/;
24616 variable[7] = TAG_Bool(( variable[6] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24617 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction380___action, LOCATE_parser, 13943); nit_exit(1);}
24618 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*pexprnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*pexprnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*pexprnode1*/)( variable[6] /*pexprnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24619 if (UNTAG_Bool(variable[7])) { /*if*/
24620 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*pexprnode1*/) /*AbstractArray::add*/;
24621 }
24622 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
24623 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(62)) /*Parser::go_to*/;
24624 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
24625 return_label792: while(false);
24626 tracehead = trace.prev;
24627 return;
24628 }
24629 void parser___ReduceAction380___init(val_t self, int* init_table) {
24630 struct trace_t trace = {NULL, NULL, 13950, LOCATE_parser___ReduceAction380___init};
24631 val_t variable[2];
24632 void **closurevariable = NULL;
24633 trace.prev = tracehead; tracehead = &trace;
24634 trace.file = LOCATE_parser;
24635 variable[0] = self;
24636 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction380].i]) return;
24637 return_label793: while(false);
24638 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction380].i] = 1;
24639 tracehead = trace.prev;
24640 return;
24641 }
24642 void parser___ReduceAction381___action(val_t self, val_t param0) {
24643 struct trace_t trace = {NULL, NULL, 13954, LOCATE_parser___ReduceAction381___action};
24644 val_t variable[9];
24645 void **closurevariable = NULL;
24646 trace.prev = tracehead; tracehead = &trace;
24647 trace.file = LOCATE_parser;
24648 variable[0] = self;
24649 variable[1] = param0;
24650 variable[3] = NIT_NULL /*null*/;
24651 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24652 variable[4] = variable[5];
24653 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24654 variable[5] = variable[6];
24655 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24656 variable[6] = variable[7];
24657 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24658 variable[7] = variable[8];
24659 variable[3] = variable[7] /*listnode1*/ /*node_list=*/;
24660 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(62)) /*Parser::go_to*/;
24661 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
24662 return_label794: while(false);
24663 tracehead = trace.prev;
24664 return;
24665 }
24666 void parser___ReduceAction381___init(val_t self, int* init_table) {
24667 struct trace_t trace = {NULL, NULL, 13964, LOCATE_parser___ReduceAction381___init};
24668 val_t variable[2];
24669 void **closurevariable = NULL;
24670 trace.prev = tracehead; tracehead = &trace;
24671 trace.file = LOCATE_parser;
24672 variable[0] = self;
24673 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction381].i]) return;
24674 return_label795: while(false);
24675 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction381].i] = 1;
24676 tracehead = trace.prev;
24677 return;
24678 }
24679 void parser___ReduceAction382___action(val_t self, val_t param0) {
24680 struct trace_t trace = {NULL, NULL, 13968, LOCATE_parser___ReduceAction382___action};
24681 val_t variable[6];
24682 void **closurevariable = NULL;
24683 trace.prev = tracehead; tracehead = &trace;
24684 trace.file = LOCATE_parser;
24685 variable[0] = self;
24686 variable[1] = param0;
24687 variable[3] = NIT_NULL /*null*/;
24688 variable[5] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24689 variable[4] = variable[5];
24690 variable[3] = variable[4] /*listnode1*/ /*node_list=*/;
24691 variable[5] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(62)) /*Parser::go_to*/;
24692 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
24693 return_label796: while(false);
24694 tracehead = trace.prev;
24695 return;
24696 }
24697 void parser___ReduceAction382___init(val_t self, int* init_table) {
24698 struct trace_t trace = {NULL, NULL, 13975, LOCATE_parser___ReduceAction382___init};
24699 val_t variable[2];
24700 void **closurevariable = NULL;
24701 trace.prev = tracehead; tracehead = &trace;
24702 trace.file = LOCATE_parser;
24703 variable[0] = self;
24704 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction382].i]) return;
24705 return_label797: while(false);
24706 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction382].i] = 1;
24707 tracehead = trace.prev;
24708 return;
24709 }
24710 void parser___ReduceAction383___action(val_t self, val_t param0) {
24711 struct trace_t trace = {NULL, NULL, 13979, LOCATE_parser___ReduceAction383___action};
24712 val_t variable[12];
24713 void **closurevariable = NULL;
24714 trace.prev = tracehead; tracehead = &trace;
24715 trace.file = LOCATE_parser;
24716 variable[0] = self;
24717 variable[1] = param0;
24718 variable[3] = NIT_NULL /*null*/;
24719 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24720 variable[4] = variable[5];
24721 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24722 variable[5] = variable[6];
24723 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24724 variable[6] = variable[7];
24725 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24726 variable[7] = variable[8];
24727 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24728 variable[8] = variable[9];
24729 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24730 variable[9] = variable[10];
24731 variable[10] = variable[6] /*nodearraylist3*/;
24732 variable[11] = TAG_Bool(( variable[10] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24733 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction383___action, LOCATE_parser, 13989); nit_exit(1);}
24734 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable[10] /*pexprnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*pexprnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*pexprnode1*/)( variable[10] /*pexprnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24735 if (UNTAG_Bool(variable[11])) { /*if*/
24736 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode2*/)( variable[9] /*listnode2*/, variable[10] /*pexprnode1*/) /*AbstractArray::add*/;
24737 }
24738 variable[3] = variable[9] /*listnode2*/ /*node_list=*/;
24739 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(63)) /*Parser::go_to*/;
24740 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
24741 return_label798: while(false);
24742 tracehead = trace.prev;
24743 return;
24744 }
24745 void parser___ReduceAction383___init(val_t self, int* init_table) {
24746 struct trace_t trace = {NULL, NULL, 13996, LOCATE_parser___ReduceAction383___init};
24747 val_t variable[2];
24748 void **closurevariable = NULL;
24749 trace.prev = tracehead; tracehead = &trace;
24750 trace.file = LOCATE_parser;
24751 variable[0] = self;
24752 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction383].i]) return;
24753 return_label799: while(false);
24754 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction383].i] = 1;
24755 tracehead = trace.prev;
24756 return;
24757 }
24758 void parser___ReduceAction384___action(val_t self, val_t param0) {
24759 struct trace_t trace = {NULL, NULL, 14000, LOCATE_parser___ReduceAction384___action};
24760 val_t variable[14];
24761 void **closurevariable = NULL;
24762 trace.prev = tracehead; tracehead = &trace;
24763 trace.file = LOCATE_parser;
24764 variable[0] = self;
24765 variable[1] = param0;
24766 variable[3] = NIT_NULL /*null*/;
24767 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24768 variable[4] = variable[5];
24769 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24770 variable[5] = variable[6];
24771 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24772 variable[6] = variable[7];
24773 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24774 variable[7] = variable[8];
24775 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24776 variable[8] = variable[9];
24777 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24778 variable[9] = variable[10];
24779 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24780 variable[10] = variable[11];
24781 variable[11] = variable[7] /*nodearraylist3*/;
24782 variable[12] = TAG_Bool(( variable[11] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24783 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction384___action, LOCATE_parser, 14011); nit_exit(1);}
24784 variable[12] = variable[5] /*nodearraylist5*/;
24785 variable[13] = TAG_Bool(( variable[12] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
24786 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction384___action, LOCATE_parser, 14013); nit_exit(1);}
24787 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable[11] /*pexprnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*pexprnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*pexprnode1*/)( variable[11] /*pexprnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24788 if (UNTAG_Bool(variable[13])) { /*if*/
24789 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, variable[11] /*pexprnode1*/) /*AbstractArray::add*/;
24790 }
24791 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode2*/)( variable[12] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24792 if (UNTAG_Bool(variable[13])) { /*if*/
24793 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode3*/)( variable[10] /*listnode3*/) /*AbstractArray::is_empty*/;
24794 if (UNTAG_Bool(variable[13])) { /*if*/
24795 variable[10] = variable[12] /*listnode2*/ /*listnode3=*/;
24796 } else { /*if*/
24797 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, variable[12] /*listnode2*/) /*IndexedCollection::append*/;
24798 }
24799 }
24800 variable[3] = variable[10] /*listnode3*/ /*node_list=*/;
24801 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(63)) /*Parser::go_to*/;
24802 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
24803 return_label800: while(false);
24804 tracehead = trace.prev;
24805 return;
24806 }
24807 void parser___ReduceAction384___init(val_t self, int* init_table) {
24808 struct trace_t trace = {NULL, NULL, 14027, LOCATE_parser___ReduceAction384___init};
24809 val_t variable[2];
24810 void **closurevariable = NULL;
24811 trace.prev = tracehead; tracehead = &trace;
24812 trace.file = LOCATE_parser;
24813 variable[0] = self;
24814 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction384].i]) return;
24815 return_label801: while(false);
24816 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction384].i] = 1;
24817 tracehead = trace.prev;
24818 return;
24819 }
24820 void parser___ReduceAction385___action(val_t self, val_t param0) {
24821 struct trace_t trace = {NULL, NULL, 14031, LOCATE_parser___ReduceAction385___action};
24822 val_t variable[10];
24823 void **closurevariable = NULL;
24824 trace.prev = tracehead; tracehead = &trace;
24825 trace.file = LOCATE_parser;
24826 variable[0] = self;
24827 variable[1] = param0;
24828 variable[3] = NIT_NULL /*null*/;
24829 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24830 variable[4] = variable[5];
24831 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24832 variable[5] = variable[6];
24833 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24834 variable[6] = variable[7];
24835 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24836 variable[7] = variable[8];
24837 variable[8] = variable[5] /*nodearraylist3*/;
24838 variable[9] = TAG_Bool(( variable[8] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24839 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction385___action, LOCATE_parser, 14039); nit_exit(1);}
24840 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
24841 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(64)) /*Parser::go_to*/;
24842 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
24843 return_label802: while(false);
24844 tracehead = trace.prev;
24845 return;
24846 }
24847 void parser___ReduceAction385___init(val_t self, int* init_table) {
24848 struct trace_t trace = {NULL, NULL, 14043, LOCATE_parser___ReduceAction385___init};
24849 val_t variable[2];
24850 void **closurevariable = NULL;
24851 trace.prev = tracehead; tracehead = &trace;
24852 trace.file = LOCATE_parser;
24853 variable[0] = self;
24854 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction385].i]) return;
24855 return_label803: while(false);
24856 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction385].i] = 1;
24857 tracehead = trace.prev;
24858 return;
24859 }
24860 void parser___ReduceAction386___action(val_t self, val_t param0) {
24861 struct trace_t trace = {NULL, NULL, 14047, LOCATE_parser___ReduceAction386___action};
24862 val_t variable[8];
24863 void **closurevariable = NULL;
24864 trace.prev = tracehead; tracehead = &trace;
24865 trace.file = LOCATE_parser;
24866 variable[0] = self;
24867 variable[1] = param0;
24868 variable[3] = NIT_NULL /*null*/;
24869 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24870 variable[4] = variable[5];
24871 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24872 variable[5] = variable[6];
24873 variable[6] = variable[4] /*nodearraylist1*/;
24874 variable[7] = TAG_Bool(( variable[6] /*tidnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*tidnode1*/, COLOR_TId, ID_TId)) /*cast TId*/;
24875 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction386___action, LOCATE_parser, 14053); nit_exit(1);}
24876 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*tidnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*tidnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*tidnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*tidnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*tidnode1*/)( variable[6] /*tidnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24877 if (UNTAG_Bool(variable[7])) { /*if*/
24878 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*tidnode1*/) /*AbstractArray::add*/;
24879 }
24880 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
24881 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(65)) /*Parser::go_to*/;
24882 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
24883 return_label804: while(false);
24884 tracehead = trace.prev;
24885 return;
24886 }
24887 void parser___ReduceAction386___init(val_t self, int* init_table) {
24888 struct trace_t trace = {NULL, NULL, 14060, LOCATE_parser___ReduceAction386___init};
24889 val_t variable[2];
24890 void **closurevariable = NULL;
24891 trace.prev = tracehead; tracehead = &trace;
24892 trace.file = LOCATE_parser;
24893 variable[0] = self;
24894 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction386].i]) return;
24895 return_label805: while(false);
24896 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction386].i] = 1;
24897 tracehead = trace.prev;
24898 return;
24899 }
24900 void parser___ReduceAction387___action(val_t self, val_t param0) {
24901 struct trace_t trace = {NULL, NULL, 14064, LOCATE_parser___ReduceAction387___action};
24902 val_t variable[13];
24903 void **closurevariable = NULL;
24904 trace.prev = tracehead; tracehead = &trace;
24905 trace.file = LOCATE_parser;
24906 variable[0] = self;
24907 variable[1] = param0;
24908 variable[3] = NIT_NULL /*null*/;
24909 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24910 variable[4] = variable[5];
24911 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24912 variable[5] = variable[6];
24913 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24914 variable[6] = variable[7];
24915 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24916 variable[7] = variable[8];
24917 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24918 variable[8] = variable[9];
24919 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24920 variable[9] = variable[10];
24921 variable[10] = variable[8] /*nodearraylist1*/;
24922 variable[11] = TAG_Bool(( variable[10] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
24923 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction387___action, LOCATE_parser, 14074); nit_exit(1);}
24924 variable[11] = variable[4] /*nodearraylist5*/;
24925 variable[12] = TAG_Bool(( variable[11] /*tidnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
24926 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction387___action, LOCATE_parser, 14076); nit_exit(1);}
24927 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode1*/)( variable[10] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24928 if (UNTAG_Bool(variable[12])) { /*if*/
24929 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode3*/)( variable[9] /*listnode3*/) /*AbstractArray::is_empty*/;
24930 if (UNTAG_Bool(variable[12])) { /*if*/
24931 variable[9] = variable[10] /*listnode1*/ /*listnode3=*/;
24932 } else { /*if*/
24933 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode3*/)( variable[9] /*listnode3*/, variable[10] /*listnode1*/) /*IndexedCollection::append*/;
24934 }
24935 }
24936 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*tidnode2*/ == NIT_NULL /*null*/) || (( variable[11] /*tidnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*tidnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*tidnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*tidnode2*/)( variable[11] /*tidnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24937 if (UNTAG_Bool(variable[12])) { /*if*/
24938 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode3*/)( variable[9] /*listnode3*/, variable[11] /*tidnode2*/) /*AbstractArray::add*/;
24939 }
24940 variable[3] = variable[9] /*listnode3*/ /*node_list=*/;
24941 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(65)) /*Parser::go_to*/;
24942 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
24943 return_label806: while(false);
24944 tracehead = trace.prev;
24945 return;
24946 }
24947 void parser___ReduceAction387___init(val_t self, int* init_table) {
24948 struct trace_t trace = {NULL, NULL, 14090, LOCATE_parser___ReduceAction387___init};
24949 val_t variable[2];
24950 void **closurevariable = NULL;
24951 trace.prev = tracehead; tracehead = &trace;
24952 trace.file = LOCATE_parser;
24953 variable[0] = self;
24954 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction387].i]) return;
24955 return_label807: while(false);
24956 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction387].i] = 1;
24957 tracehead = trace.prev;
24958 return;
24959 }
24960 void parser___ReduceAction388___action(val_t self, val_t param0) {
24961 struct trace_t trace = {NULL, NULL, 14094, LOCATE_parser___ReduceAction388___action};
24962 val_t variable[9];
24963 void **closurevariable = NULL;
24964 trace.prev = tracehead; tracehead = &trace;
24965 trace.file = LOCATE_parser;
24966 variable[0] = self;
24967 variable[1] = param0;
24968 variable[3] = NIT_NULL /*null*/;
24969 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24970 variable[4] = variable[5];
24971 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24972 variable[5] = variable[6];
24973 variable[6] = variable[4] /*nodearraylist1*/;
24974 variable[7] = TAG_Bool(( variable[6] /*tclassidnode3*/==NIT_NULL) || VAL_ISA( variable[6] /*tclassidnode3*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
24975 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction388___action, LOCATE_parser, 14100); nit_exit(1);}
24976 variable[8] = NEW_AQualified_parser_prod___AQualified___init_aqualified( variable[5] /*listnode2*/, variable[6] /*tclassidnode3*/); /*new AQualified*/
24977 variable[7] = variable[8];
24978 variable[3] = variable[7] /*pqualifiednode1*/ /*node_list=*/;
24979 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(66)) /*Parser::go_to*/;
24980 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
24981 return_label808: while(false);
24982 tracehead = trace.prev;
24983 return;
24984 }
24985 void parser___ReduceAction388___init(val_t self, int* init_table) {
24986 struct trace_t trace = {NULL, NULL, 14108, LOCATE_parser___ReduceAction388___init};
24987 val_t variable[2];
24988 void **closurevariable = NULL;
24989 trace.prev = tracehead; tracehead = &trace;
24990 trace.file = LOCATE_parser;
24991 variable[0] = self;
24992 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction388].i]) return;
24993 return_label809: while(false);
24994 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction388].i] = 1;
24995 tracehead = trace.prev;
24996 return;
24997 }
24998 void parser___ReduceAction389___action(val_t self, val_t param0) {
24999 struct trace_t trace = {NULL, NULL, 14112, LOCATE_parser___ReduceAction389___action};
25000 val_t variable[11];
25001 void **closurevariable = NULL;
25002 trace.prev = tracehead; tracehead = &trace;
25003 trace.file = LOCATE_parser;
25004 variable[0] = self;
25005 variable[1] = param0;
25006 variable[3] = NIT_NULL /*null*/;
25007 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25008 variable[4] = variable[5];
25009 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25010 variable[5] = variable[6];
25011 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25012 variable[6] = variable[7];
25013 variable[7] = variable[5] /*nodearraylist1*/;
25014 variable[8] = TAG_Bool(( variable[7] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
25015 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction389___action, LOCATE_parser, 14119); nit_exit(1);}
25016 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*listnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*listnode2*/)( variable[7] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
25017 if (UNTAG_Bool(variable[8])) { /*if*/
25018 variable[8] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
25019 if (UNTAG_Bool(variable[8])) { /*if*/
25020 variable[6] = variable[7] /*listnode2*/ /*listnode3=*/;
25021 } else { /*if*/
25022 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode2*/) /*IndexedCollection::append*/;
25023 }
25024 }
25025 variable[8] = variable[4] /*nodearraylist2*/;
25026 variable[9] = TAG_Bool(( variable[8] /*tclassidnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*tclassidnode4*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
25027 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction389___action, LOCATE_parser, 14128); nit_exit(1);}
25028 variable[10] = NEW_AQualified_parser_prod___AQualified___init_aqualified( variable[6] /*listnode3*/, variable[8] /*tclassidnode4*/); /*new AQualified*/
25029 variable[9] = variable[10];
25030 variable[3] = variable[9] /*pqualifiednode1*/ /*node_list=*/;
25031 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(66)) /*Parser::go_to*/;
25032 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
25033 return_label810: while(false);
25034 tracehead = trace.prev;
25035 return;
25036 }
25037 void parser___ReduceAction389___init(val_t self, int* init_table) {
25038 struct trace_t trace = {NULL, NULL, 14136, LOCATE_parser___ReduceAction389___init};
25039 val_t variable[2];
25040 void **closurevariable = NULL;
25041 trace.prev = tracehead; tracehead = &trace;
25042 trace.file = LOCATE_parser;
25043 variable[0] = self;
25044 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction389].i]) return;
25045 return_label811: while(false);
25046 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction389].i] = 1;
25047 tracehead = trace.prev;
25048 return;
25049 }
25050 void parser___ReduceAction390___action(val_t self, val_t param0) {
25051 struct trace_t trace = {NULL, NULL, 14140, LOCATE_parser___ReduceAction390___action};
25052 val_t variable[9];
25053 void **closurevariable = NULL;
25054 trace.prev = tracehead; tracehead = &trace;
25055 trace.file = LOCATE_parser;
25056 variable[0] = self;
25057 variable[1] = param0;
25058 variable[3] = NIT_NULL /*null*/;
25059 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25060 variable[4] = variable[5];
25061 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25062 variable[5] = variable[6];
25063 variable[6] = variable[4] /*nodearraylist1*/;
25064 variable[7] = TAG_Bool(( variable[6] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
25065 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction390___action, LOCATE_parser, 14146); nit_exit(1);}
25066 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[6] /*listnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*listnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*listnode2*/)( variable[6] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
25067 if (UNTAG_Bool(variable[7])) { /*if*/
25068 variable[7] = CALL_abstract_collection___Collection___is_empty( variable[5] /*listnode3*/)( variable[5] /*listnode3*/) /*AbstractArray::is_empty*/;
25069 if (UNTAG_Bool(variable[7])) { /*if*/
25070 variable[5] = variable[6] /*listnode2*/ /*listnode3=*/;
25071 } else { /*if*/
25072 CALL_abstract_collection___IndexedCollection___append( variable[5] /*listnode3*/)( variable[5] /*listnode3*/, variable[6] /*listnode2*/) /*IndexedCollection::append*/;
25073 }
25074 }
25075 variable[8] = NEW_AQualified_parser_prod___AQualified___init_aqualified( variable[5] /*listnode3*/, NIT_NULL /*null*/); /*new AQualified*/
25076 variable[7] = variable[8];
25077 variable[3] = variable[7] /*pqualifiednode1*/ /*node_list=*/;
25078 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(66)) /*Parser::go_to*/;
25079 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
25080 return_label812: while(false);
25081 tracehead = trace.prev;
25082 return;
25083 }
25084 void parser___ReduceAction390___init(val_t self, int* init_table) {
25085 struct trace_t trace = {NULL, NULL, 14161, LOCATE_parser___ReduceAction390___init};
25086 val_t variable[2];
25087 void **closurevariable = NULL;
25088 trace.prev = tracehead; tracehead = &trace;
25089 trace.file = LOCATE_parser;
25090 variable[0] = self;
25091 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction390].i]) return;
25092 return_label813: while(false);
25093 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction390].i] = 1;
25094 tracehead = trace.prev;
25095 return;
25096 }
25097 void parser___ReduceAction391___action(val_t self, val_t param0) {
25098 struct trace_t trace = {NULL, NULL, 14165, LOCATE_parser___ReduceAction391___action};
25099 val_t variable[9];
25100 void **closurevariable = NULL;
25101 trace.prev = tracehead; tracehead = &trace;
25102 trace.file = LOCATE_parser;
25103 variable[0] = self;
25104 variable[1] = param0;
25105 variable[3] = NIT_NULL /*null*/;
25106 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25107 variable[4] = variable[5];
25108 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25109 variable[5] = variable[6];
25110 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25111 variable[6] = variable[7];
25112 variable[7] = variable[6] /*nodearraylist1*/;
25113 variable[8] = TAG_Bool(( variable[7] /*tidnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*tidnode1*/, COLOR_TId, ID_TId)) /*cast TId*/;
25114 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction391___action, LOCATE_parser, 14172); nit_exit(1);}
25115 variable[3] = variable[7] /*tidnode1*/ /*node_list=*/;
25116 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(67)) /*Parser::go_to*/;
25117 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
25118 return_label814: while(false);
25119 tracehead = trace.prev;
25120 return;
25121 }
25122 void parser___ReduceAction391___init(val_t self, int* init_table) {
25123 struct trace_t trace = {NULL, NULL, 14176, LOCATE_parser___ReduceAction391___init};
25124 val_t variable[2];
25125 void **closurevariable = NULL;
25126 trace.prev = tracehead; tracehead = &trace;
25127 trace.file = LOCATE_parser;
25128 variable[0] = self;
25129 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction391].i]) return;
25130 return_label815: while(false);
25131 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction391].i] = 1;
25132 tracehead = trace.prev;
25133 return;
25134 }
25135 void parser___ReduceAction392___action(val_t self, val_t param0) {
25136 struct trace_t trace = {NULL, NULL, 14180, LOCATE_parser___ReduceAction392___action};
25137 val_t variable[9];
25138 void **closurevariable = NULL;
25139 trace.prev = tracehead; tracehead = &trace;
25140 trace.file = LOCATE_parser;
25141 variable[0] = self;
25142 variable[1] = param0;
25143 variable[3] = NIT_NULL /*null*/;
25144 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25145 variable[4] = variable[5];
25146 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25147 variable[5] = variable[6];
25148 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25149 variable[6] = variable[7];
25150 variable[7] = variable[6] /*nodearraylist1*/;
25151 variable[8] = TAG_Bool(( variable[7] /*tclassidnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*tclassidnode1*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
25152 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction392___action, LOCATE_parser, 14187); nit_exit(1);}
25153 variable[3] = variable[7] /*tclassidnode1*/ /*node_list=*/;
25154 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(68)) /*Parser::go_to*/;
25155 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
25156 return_label816: while(false);
25157 tracehead = trace.prev;
25158 return;
25159 }
25160 void parser___ReduceAction392___init(val_t self, int* init_table) {
25161 struct trace_t trace = {NULL, NULL, 14191, LOCATE_parser___ReduceAction392___init};
25162 val_t variable[2];
25163 void **closurevariable = NULL;
25164 trace.prev = tracehead; tracehead = &trace;
25165 trace.file = LOCATE_parser;
25166 variable[0] = self;
25167 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction392].i]) return;
25168 return_label817: while(false);
25169 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction392].i] = 1;
25170 tracehead = trace.prev;
25171 return;
25172 }
25173 void parser___ReduceAction393___action(val_t self, val_t param0) {
25174 struct trace_t trace = {NULL, NULL, 14195, LOCATE_parser___ReduceAction393___action};
25175 val_t variable[6];
25176 void **closurevariable = NULL;
25177 trace.prev = tracehead; tracehead = &trace;
25178 trace.file = LOCATE_parser;
25179 variable[0] = self;
25180 variable[1] = param0;
25181 variable[3] = NIT_NULL /*null*/;
25182 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25183 variable[4] = variable[5];
25184 variable[5] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(69)) /*Parser::go_to*/;
25185 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
25186 return_label818: while(false);
25187 tracehead = trace.prev;
25188 return;
25189 }
25190 void parser___ReduceAction393___init(val_t self, int* init_table) {
25191 struct trace_t trace = {NULL, NULL, 14201, LOCATE_parser___ReduceAction393___init};
25192 val_t variable[2];
25193 void **closurevariable = NULL;
25194 trace.prev = tracehead; tracehead = &trace;
25195 trace.file = LOCATE_parser;
25196 variable[0] = self;
25197 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction393].i]) return;
25198 return_label819: while(false);
25199 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction393].i] = 1;
25200 tracehead = trace.prev;
25201 return;
25202 }
25203 void parser___ReduceAction394___action(val_t self, val_t param0) {
25204 struct trace_t trace = {NULL, NULL, 14205, LOCATE_parser___ReduceAction394___action};
25205 val_t variable[6];
25206 void **closurevariable = NULL;
25207 trace.prev = tracehead; tracehead = &trace;
25208 trace.file = LOCATE_parser;
25209 variable[0] = self;
25210 variable[1] = param0;
25211 variable[3] = NIT_NULL /*null*/;
25212 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25213 variable[4] = variable[5];
25214 variable[5] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(69)) /*Parser::go_to*/;
25215 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
25216 return_label820: while(false);
25217 tracehead = trace.prev;
25218 return;
25219 }
25220 void parser___ReduceAction394___init(val_t self, int* init_table) {
25221 struct trace_t trace = {NULL, NULL, 14211, LOCATE_parser___ReduceAction394___init};
25222 val_t variable[2];
25223 void **closurevariable = NULL;
25224 trace.prev = tracehead; tracehead = &trace;
25225 trace.file = LOCATE_parser;
25226 variable[0] = self;
25227 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction394].i]) return;
25228 return_label821: while(false);
25229 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction394].i] = 1;
25230 tracehead = trace.prev;
25231 return;
25232 }
25233 void parser___ReduceAction395___action(val_t self, val_t param0) {
25234 struct trace_t trace = {NULL, NULL, 14215, LOCATE_parser___ReduceAction395___action};
25235 val_t variable[9];
25236 void **closurevariable = NULL;
25237 trace.prev = tracehead; tracehead = &trace;
25238 trace.file = LOCATE_parser;
25239 variable[0] = self;
25240 variable[1] = param0;
25241 variable[3] = NIT_NULL /*null*/;
25242 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25243 variable[4] = variable[5];
25244 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25245 variable[5] = variable[6];
25246 variable[6] = variable[4] /*nodearraylist1*/;
25247 variable[7] = TAG_Bool(( variable[6] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
25248 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction395___action, LOCATE_parser, 14221); nit_exit(1);}
25249 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[6] /*listnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*listnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*listnode2*/)( variable[6] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
25250 if (UNTAG_Bool(variable[7])) { /*if*/
25251 variable[7] = CALL_abstract_collection___Collection___is_empty( variable[5] /*listnode3*/)( variable[5] /*listnode3*/) /*AbstractArray::is_empty*/;
25252 if (UNTAG_Bool(variable[7])) { /*if*/
25253 variable[5] = variable[6] /*listnode2*/ /*listnode3=*/;
25254 } else { /*if*/
25255 CALL_abstract_collection___IndexedCollection___append( variable[5] /*listnode3*/)( variable[5] /*listnode3*/, variable[6] /*listnode2*/) /*IndexedCollection::append*/;
25256 }
25257 }
25258 variable[8] = NEW_ADoc_parser_prod___ADoc___init_adoc( variable[5] /*listnode3*/); /*new ADoc*/
25259 variable[7] = variable[8];
25260 variable[3] = variable[7] /*pdocnode1*/ /*node_list=*/;
25261 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(70)) /*Parser::go_to*/;
25262 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
25263 return_label822: while(false);
25264 tracehead = trace.prev;
25265 return;
25266 }
25267 void parser___ReduceAction395___init(val_t self, int* init_table) {
25268 struct trace_t trace = {NULL, NULL, 14235, LOCATE_parser___ReduceAction395___init};
25269 val_t variable[2];
25270 void **closurevariable = NULL;
25271 trace.prev = tracehead; tracehead = &trace;
25272 trace.file = LOCATE_parser;
25273 variable[0] = self;
25274 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction395].i]) return;
25275 return_label823: while(false);
25276 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction395].i] = 1;
25277 tracehead = trace.prev;
25278 return;
25279 }
25280 void parser___ReduceAction396___action(val_t self, val_t param0) {
25281 struct trace_t trace = {NULL, NULL, 14239, LOCATE_parser___ReduceAction396___action};
25282 val_t variable[10];
25283 void **closurevariable = NULL;
25284 trace.prev = tracehead; tracehead = &trace;
25285 trace.file = LOCATE_parser;
25286 variable[0] = self;
25287 variable[1] = param0;
25288 variable[3] = NIT_NULL /*null*/;
25289 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25290 variable[4] = variable[5];
25291 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25292 variable[5] = variable[6];
25293 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25294 variable[6] = variable[7];
25295 variable[7] = variable[4] /*nodearraylist2*/;
25296 variable[8] = TAG_Bool(( variable[7] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
25297 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction396___action, LOCATE_parser, 14246); nit_exit(1);}
25298 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*listnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*listnode2*/)( variable[7] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
25299 if (UNTAG_Bool(variable[8])) { /*if*/
25300 variable[8] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
25301 if (UNTAG_Bool(variable[8])) { /*if*/
25302 variable[6] = variable[7] /*listnode2*/ /*listnode3=*/;
25303 } else { /*if*/
25304 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode2*/) /*IndexedCollection::append*/;
25305 }
25306 }
25307 variable[9] = NEW_ADoc_parser_prod___ADoc___init_adoc( variable[6] /*listnode3*/); /*new ADoc*/
25308 variable[8] = variable[9];
25309 variable[3] = variable[8] /*pdocnode1*/ /*node_list=*/;
25310 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(70)) /*Parser::go_to*/;
25311 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
25312 return_label824: while(false);
25313 tracehead = trace.prev;
25314 return;
25315 }
25316 void parser___ReduceAction396___init(val_t self, int* init_table) {
25317 struct trace_t trace = {NULL, NULL, 14260, LOCATE_parser___ReduceAction396___init};
25318 val_t variable[2];
25319 void **closurevariable = NULL;
25320 trace.prev = tracehead; tracehead = &trace;
25321 trace.file = LOCATE_parser;
25322 variable[0] = self;
25323 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction396].i]) return;
25324 return_label825: while(false);
25325 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction396].i] = 1;
25326 tracehead = trace.prev;
25327 return;
25328 }
25329 void parser___ReduceAction397___action(val_t self, val_t param0) {
25330 struct trace_t trace = {NULL, NULL, 14264, LOCATE_parser___ReduceAction397___action};
25331 val_t variable[6];
25332 void **closurevariable = NULL;
25333 trace.prev = tracehead; tracehead = &trace;
25334 trace.file = LOCATE_parser;
25335 variable[0] = self;
25336 variable[1] = param0;
25337 variable[3] = NIT_NULL /*null*/;
25338 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25339 variable[4] = variable[5];
25340 variable[3] = NIT_NULL /*null*/ /*node_list=*/;
25341 variable[5] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(70)) /*Parser::go_to*/;
25342 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
25343 return_label826: while(false);
25344 tracehead = trace.prev;
25345 return;
25346 }
25347 void parser___ReduceAction397___init(val_t self, int* init_table) {
25348 struct trace_t trace = {NULL, NULL, 14271, LOCATE_parser___ReduceAction397___init};
25349 val_t variable[2];
25350 void **closurevariable = NULL;
25351 trace.prev = tracehead; tracehead = &trace;
25352 trace.file = LOCATE_parser;
25353 variable[0] = self;
25354 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction397].i]) return;
25355 return_label827: while(false);
25356 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction397].i] = 1;
25357 tracehead = trace.prev;
25358 return;
25359 }
25360 void parser___ReduceAction398___action(val_t self, val_t param0) {
25361 struct trace_t trace = {NULL, NULL, 14275, LOCATE_parser___ReduceAction398___action};
25362 val_t variable[5];
25363 void **closurevariable = NULL;
25364 trace.prev = tracehead; tracehead = &trace;
25365 trace.file = LOCATE_parser;
25366 variable[0] = self;
25367 variable[1] = param0;
25368 variable[3] = NIT_NULL /*null*/;
25369 variable[3] = NIT_NULL /*null*/ /*node_list=*/;
25370 variable[4] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(71)) /*Parser::go_to*/;
25371 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[4], variable[3] /*node_list*/) /*Parser::push*/;
25372 return_label828: while(false);
25373 tracehead = trace.prev;
25374 return;
25375 }
25376 void parser___ReduceAction398___init(val_t self, int* init_table) {
25377 struct trace_t trace = {NULL, NULL, 14281, LOCATE_parser___ReduceAction398___init};
25378 val_t variable[2];
25379 void **closurevariable = NULL;
25380 trace.prev = tracehead; tracehead = &trace;
25381 trace.file = LOCATE_parser;
25382 variable[0] = self;
25383 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction398].i]) return;
25384 return_label829: while(false);
25385 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction398].i] = 1;
25386 tracehead = trace.prev;
25387 return;
25388 }
25389 void parser___ReduceAction399___action(val_t self, val_t param0) {
25390 struct trace_t trace = {NULL, NULL, 14285, LOCATE_parser___ReduceAction399___action};
25391 val_t variable[7];
25392 void **closurevariable = NULL;
25393 trace.prev = tracehead; tracehead = &trace;
25394 trace.file = LOCATE_parser;
25395 variable[0] = self;
25396 variable[1] = param0;
25397 variable[3] = NIT_NULL /*null*/;
25398 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25399 variable[4] = variable[5];
25400 variable[5] = variable[4] /*nodearraylist1*/;
25401 variable[6] = TAG_Bool(( variable[5] /*pdocnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pdocnode1*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
25402 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction399___action, LOCATE_parser, 14290); nit_exit(1);}
25403 variable[3] = variable[5] /*pdocnode1*/ /*node_list=*/;
25404 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(71)) /*Parser::go_to*/;
25405 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
25406 return_label830: while(false);
25407 tracehead = trace.prev;
25408 return;
25409 }
25410 void parser___ReduceAction399___init(val_t self, int* init_table) {
25411 struct trace_t trace = {NULL, NULL, 14294, LOCATE_parser___ReduceAction399___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(variable[0])->vft[INIT_TABLE_POS_ReduceAction399].i]) return;
25418 return_label831: while(false);
25419 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction399].i] = 1;
25420 tracehead = trace.prev;
25421 return;
25422 }
25423 void parser___ReduceAction400___action(val_t self, val_t param0) {
25424 struct trace_t trace = {NULL, NULL, 14298, LOCATE_parser___ReduceAction400___action};
25425 val_t variable[7];
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] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25433 variable[4] = variable[5];
25434 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25435 variable[5] = variable[6];
25436 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(72)) /*Parser::go_to*/;
25437 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
25438 return_label832: while(false);
25439 tracehead = trace.prev;
25440 return;
25441 }
25442 void parser___ReduceAction400___init(val_t self, int* init_table) {
25443 struct trace_t trace = {NULL, NULL, 14305, LOCATE_parser___ReduceAction400___init};
25444 val_t variable[2];
25445 void **closurevariable = NULL;
25446 trace.prev = tracehead; tracehead = &trace;
25447 trace.file = LOCATE_parser;
25448 variable[0] = self;
25449 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction400].i]) return;
25450 return_label833: while(false);
25451 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction400].i] = 1;
25452 tracehead = trace.prev;
25453 return;
25454 }
25455 void parser___ReduceAction401___action(val_t self, val_t param0) {
25456 struct trace_t trace = {NULL, NULL, 14309, LOCATE_parser___ReduceAction401___action};
25457 val_t variable[8];
25458 void **closurevariable = NULL;
25459 trace.prev = tracehead; tracehead = &trace;
25460 trace.file = LOCATE_parser;
25461 variable[0] = self;
25462 variable[1] = param0;
25463 variable[3] = NIT_NULL /*null*/;
25464 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25465 variable[4] = variable[5];
25466 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25467 variable[5] = variable[6];
25468 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25469 variable[6] = variable[7];
25470 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(72)) /*Parser::go_to*/;
25471 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
25472 return_label834: while(false);
25473 tracehead = trace.prev;
25474 return;
25475 }
25476 void parser___ReduceAction401___init(val_t self, int* init_table) {
25477 struct trace_t trace = {NULL, NULL, 14317, LOCATE_parser___ReduceAction401___init};
25478 val_t variable[2];
25479 void **closurevariable = NULL;
25480 trace.prev = tracehead; tracehead = &trace;
25481 trace.file = LOCATE_parser;
25482 variable[0] = self;
25483 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction401].i]) return;
25484 return_label835: while(false);
25485 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction401].i] = 1;
25486 tracehead = trace.prev;
25487 return;
25488 }
25489 void parser___ReduceAction402___action(val_t self, val_t param0) {
25490 struct trace_t trace = {NULL, NULL, 14321, LOCATE_parser___ReduceAction402___action};
25491 val_t variable[6];
25492 void **closurevariable = NULL;
25493 trace.prev = tracehead; tracehead = &trace;
25494 trace.file = LOCATE_parser;
25495 variable[0] = self;
25496 variable[1] = param0;
25497 variable[3] = NIT_NULL /*null*/;
25498 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25499 variable[4] = variable[5];
25500 variable[5] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(72)) /*Parser::go_to*/;
25501 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
25502 return_label836: while(false);
25503 tracehead = trace.prev;
25504 return;
25505 }
25506 void parser___ReduceAction402___init(val_t self, int* init_table) {
25507 struct trace_t trace = {NULL, NULL, 14327, LOCATE_parser___ReduceAction402___init};
25508 val_t variable[2];
25509 void **closurevariable = NULL;
25510 trace.prev = tracehead; tracehead = &trace;
25511 trace.file = LOCATE_parser;
25512 variable[0] = self;
25513 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction402].i]) return;
25514 return_label837: while(false);
25515 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction402].i] = 1;
25516 tracehead = trace.prev;
25517 return;
25518 }
25519 void parser___ReduceAction403___action(val_t self, val_t param0) {
25520 struct trace_t trace = {NULL, NULL, 14331, LOCATE_parser___ReduceAction403___action};
25521 val_t variable[9];
25522 void **closurevariable = NULL;
25523 trace.prev = tracehead; tracehead = &trace;
25524 trace.file = LOCATE_parser;
25525 variable[0] = self;
25526 variable[1] = param0;
25527 variable[3] = NIT_NULL /*null*/;
25528 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25529 variable[4] = variable[5];
25530 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25531 variable[5] = variable[6];
25532 variable[6] = variable[4] /*nodearraylist1*/;
25533 variable[7] = TAG_Bool(( variable[6] /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
25534 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction403___action, LOCATE_parser, 14337); nit_exit(1);}
25535 variable[8] = NEW_AType_parser_prod___AType___init_atype( variable[6] /*tclassidnode2*/, variable[5] /*listnode3*/); /*new AType*/
25536 variable[7] = variable[8];
25537 variable[3] = variable[7] /*ptypenode1*/ /*node_list=*/;
25538 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(73)) /*Parser::go_to*/;
25539 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
25540 return_label838: while(false);
25541 tracehead = trace.prev;
25542 return;
25543 }
25544 void parser___ReduceAction403___init(val_t self, int* init_table) {
25545 struct trace_t trace = {NULL, NULL, 14345, LOCATE_parser___ReduceAction403___init};
25546 val_t variable[2];
25547 void **closurevariable = NULL;
25548 trace.prev = tracehead; tracehead = &trace;
25549 trace.file = LOCATE_parser;
25550 variable[0] = self;
25551 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction403].i]) return;
25552 return_label839: while(false);
25553 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction403].i] = 1;
25554 tracehead = trace.prev;
25555 return;
25556 }
25557 void parser___ReduceAction404___action(val_t self, val_t param0) {
25558 struct trace_t trace = {NULL, NULL, 14349, LOCATE_parser___ReduceAction404___action};
25559 val_t variable[7];
25560 void **closurevariable = NULL;
25561 trace.prev = tracehead; tracehead = &trace;
25562 trace.file = LOCATE_parser;
25563 variable[0] = self;
25564 variable[1] = param0;
25565 variable[3] = NIT_NULL /*null*/;
25566 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25567 variable[4] = variable[5];
25568 variable[5] = variable[4] /*nodearraylist1*/;
25569 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25570 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction404___action, LOCATE_parser, 14354); nit_exit(1);}
25571 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
25572 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(74)) /*Parser::go_to*/;
25573 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
25574 return_label840: while(false);
25575 tracehead = trace.prev;
25576 return;
25577 }
25578 void parser___ReduceAction404___init(val_t self, int* init_table) {
25579 struct trace_t trace = {NULL, NULL, 14358, LOCATE_parser___ReduceAction404___init};
25580 val_t variable[2];
25581 void **closurevariable = NULL;
25582 trace.prev = tracehead; tracehead = &trace;
25583 trace.file = LOCATE_parser;
25584 variable[0] = self;
25585 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction404].i]) return;
25586 return_label841: while(false);
25587 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction404].i] = 1;
25588 tracehead = trace.prev;
25589 return;
25590 }
25591 void parser___ReduceAction405___action(val_t self, val_t param0) {
25592 struct trace_t trace = {NULL, NULL, 14362, LOCATE_parser___ReduceAction405___action};
25593 val_t variable[18];
25594 void **closurevariable = NULL;
25595 trace.prev = tracehead; tracehead = &trace;
25596 trace.file = LOCATE_parser;
25597 variable[0] = self;
25598 variable[1] = param0;
25599 variable[3] = NIT_NULL /*null*/;
25600 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25601 variable[4] = variable[5];
25602 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25603 variable[5] = variable[6];
25604 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25605 variable[6] = variable[7];
25606 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25607 variable[7] = variable[8];
25608 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25609 variable[8] = variable[9];
25610 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25611 variable[9] = variable[10];
25612 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25613 variable[10] = variable[11];
25614 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25615 variable[11] = variable[12];
25616 variable[12] = variable[9] /*nodearraylist1*/;
25617 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25618 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction405___action, LOCATE_parser, 14374); nit_exit(1);}
25619 variable[13] = variable[6] /*nodearraylist4*/;
25620 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
25621 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction405___action, LOCATE_parser, 14376); nit_exit(1);}
25622 variable[14] = variable[5] /*nodearraylist5*/;
25623 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
25624 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction405___action, LOCATE_parser, 14378); nit_exit(1);}
25625 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
25626 if (UNTAG_Bool(variable[15])) { /*if*/
25627 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode5*/)( variable[10] /*listnode5*/) /*AbstractArray::is_empty*/;
25628 if (UNTAG_Bool(variable[15])) { /*if*/
25629 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
25630 } else { /*if*/
25631 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode5*/)( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
25632 }
25633 }
25634 variable[15] = variable[4] /*nodearraylist6*/;
25635 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
25636 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction405___action, LOCATE_parser, 14387); nit_exit(1);}
25637 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*listnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*listnode6*/)( variable[15] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
25638 if (UNTAG_Bool(variable[16])) { /*if*/
25639 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode7*/)( variable[11] /*listnode7*/) /*AbstractArray::is_empty*/;
25640 if (UNTAG_Bool(variable[16])) { /*if*/
25641 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
25642 } else { /*if*/
25643 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
25644 }
25645 }
25646 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/); /*new ACallExpr*/
25647 variable[16] = variable[17];
25648 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
25649 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(74)) /*Parser::go_to*/;
25650 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
25651 return_label842: while(false);
25652 tracehead = trace.prev;
25653 return;
25654 }
25655 void parser___ReduceAction405___init(val_t self, int* init_table) {
25656 struct trace_t trace = {NULL, NULL, 14404, LOCATE_parser___ReduceAction405___init};
25657 val_t variable[2];
25658 void **closurevariable = NULL;
25659 trace.prev = tracehead; tracehead = &trace;
25660 trace.file = LOCATE_parser;
25661 variable[0] = self;
25662 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction405].i]) return;
25663 return_label843: while(false);
25664 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction405].i] = 1;
25665 tracehead = trace.prev;
25666 return;
25667 }
25668 void parser___ReduceAction406___action(val_t self, val_t param0) {
25669 struct trace_t trace = {NULL, NULL, 14408, LOCATE_parser___ReduceAction406___action};
25670 val_t variable[15];
25671 void **closurevariable = NULL;
25672 trace.prev = tracehead; tracehead = &trace;
25673 trace.file = LOCATE_parser;
25674 variable[0] = self;
25675 variable[1] = param0;
25676 variable[3] = NIT_NULL /*null*/;
25677 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25678 variable[4] = variable[5];
25679 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25680 variable[5] = variable[6];
25681 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25682 variable[6] = variable[7];
25683 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25684 variable[7] = variable[8];
25685 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25686 variable[8] = variable[9];
25687 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
25688 variable[9] = variable[10];
25689 variable[10] = variable[6] /*nodearraylist1*/;
25690 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
25691 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction406___action, LOCATE_parser, 14419); nit_exit(1);}
25692 variable[11] = variable[5] /*nodearraylist2*/;
25693 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
25694 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction406___action, LOCATE_parser, 14421); nit_exit(1);}
25695 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
25696 if (UNTAG_Bool(variable[12])) { /*if*/
25697 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
25698 if (UNTAG_Bool(variable[12])) { /*if*/
25699 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
25700 } else { /*if*/
25701 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
25702 }
25703 }
25704 variable[12] = variable[4] /*nodearraylist3*/;
25705 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
25706 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction406___action, LOCATE_parser, 14430); nit_exit(1);}
25707 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode6*/)( variable[12] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
25708 if (UNTAG_Bool(variable[13])) { /*if*/
25709 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode7*/)( variable[8] /*listnode7*/) /*AbstractArray::is_empty*/;
25710 if (UNTAG_Bool(variable[13])) { /*if*/
25711 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
25712 } else { /*if*/
25713 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode7*/)( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
25714 }
25715 }
25716 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/); /*new ACallExpr*/
25717 variable[13] = variable[14];
25718 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
25719 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(74)) /*Parser::go_to*/;
25720 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
25721 return_label844: while(false);
25722 tracehead = trace.prev;
25723 return;
25724 }
25725 void parser___ReduceAction406___init(val_t self, int* init_table) {
25726 struct trace_t trace = {NULL, NULL, 14447, LOCATE_parser___ReduceAction406___init};
25727 val_t variable[2];
25728 void **closurevariable = NULL;
25729 trace.prev = tracehead; tracehead = &trace;
25730 trace.file = LOCATE_parser;
25731 variable[0] = self;
25732 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction406].i]) return;
25733 return_label845: while(false);
25734 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction406].i] = 1;
25735 tracehead = trace.prev;
25736 return;
25737 }
25738 void parser___ReduceAction407___action(val_t self, val_t param0) {
25739 struct trace_t trace = {NULL, NULL, 14451, LOCATE_parser___ReduceAction407___action};
25740 val_t variable[7];
25741 void **closurevariable = NULL;
25742 trace.prev = tracehead; tracehead = &trace;
25743 trace.file = LOCATE_parser;
25744 variable[0] = self;
25745 variable[1] = param0;
25746 variable[3] = NIT_NULL /*null*/;
25747 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25748 variable[4] = variable[5];
25749 variable[5] = variable[4] /*nodearraylist1*/;
25750 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25751 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction407___action, LOCATE_parser, 14456); nit_exit(1);}
25752 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
25753 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(75)) /*Parser::go_to*/;
25754 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
25755 return_label846: while(false);
25756 tracehead = trace.prev;
25757 return;
25758 }
25759 void parser___ReduceAction407___init(val_t self, int* init_table) {
25760 struct trace_t trace = {NULL, NULL, 14460, LOCATE_parser___ReduceAction407___init};
25761 val_t variable[2];
25762 void **closurevariable = NULL;
25763 trace.prev = tracehead; tracehead = &trace;
25764 trace.file = LOCATE_parser;
25765 variable[0] = self;
25766 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction407].i]) return;
25767 return_label847: while(false);
25768 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction407].i] = 1;
25769 tracehead = trace.prev;
25770 return;
25771 }
25772 void parser___ReduceAction408___action(val_t self, val_t param0) {
25773 struct trace_t trace = {NULL, NULL, 14464, LOCATE_parser___ReduceAction408___action};
25774 val_t variable[23];
25775 void **closurevariable = NULL;
25776 trace.prev = tracehead; tracehead = &trace;
25777 trace.file = LOCATE_parser;
25778 variable[0] = self;
25779 variable[1] = param0;
25780 variable[3] = NIT_NULL /*null*/;
25781 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25782 variable[4] = variable[5];
25783 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25784 variable[5] = variable[6];
25785 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25786 variable[6] = variable[7];
25787 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25788 variable[7] = variable[8];
25789 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25790 variable[8] = variable[9];
25791 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25792 variable[9] = variable[10];
25793 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25794 variable[10] = variable[11];
25795 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25796 variable[11] = variable[12];
25797 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25798 variable[12] = variable[13];
25799 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25800 variable[13] = variable[14];
25801 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25802 variable[14] = variable[15];
25803 variable[15] = variable[14] /*nodearraylist1*/;
25804 variable[16] = TAG_Bool(( variable[15] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
25805 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction408___action, LOCATE_parser, 14479); nit_exit(1);}
25806 variable[16] = variable[12] /*nodearraylist3*/;
25807 variable[17] = TAG_Bool(( variable[16] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25808 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction408___action, LOCATE_parser, 14481); nit_exit(1);}
25809 variable[17] = variable[10] /*nodearraylist5*/;
25810 variable[18] = TAG_Bool(( variable[17] /*tkwthennode4*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwthennode4*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/;
25811 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction408___action, LOCATE_parser, 14483); nit_exit(1);}
25812 variable[18] = variable[8] /*nodearraylist7*/;
25813 variable[19] = TAG_Bool(( variable[18] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25814 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction408___action, LOCATE_parser, 14485); nit_exit(1);}
25815 variable[19] = variable[6] /*nodearraylist9*/;
25816 variable[20] = TAG_Bool(( variable[19] /*tkwelsenode6*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwelsenode6*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/;
25817 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction408___action, LOCATE_parser, 14487); nit_exit(1);}
25818 variable[20] = variable[4] /*nodearraylist11*/;
25819 variable[21] = TAG_Bool(( variable[20] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25820 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction408___action, LOCATE_parser, 14489); nit_exit(1);}
25821 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*/
25822 variable[21] = variable[22];
25823 variable[3] = variable[21] /*pexprnode1*/ /*node_list=*/;
25824 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(75)) /*Parser::go_to*/;
25825 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
25826 return_label848: while(false);
25827 tracehead = trace.prev;
25828 return;
25829 }
25830 void parser___ReduceAction408___init(val_t self, int* init_table) {
25831 struct trace_t trace = {NULL, NULL, 14501, LOCATE_parser___ReduceAction408___init};
25832 val_t variable[2];
25833 void **closurevariable = NULL;
25834 trace.prev = tracehead; tracehead = &trace;
25835 trace.file = LOCATE_parser;
25836 variable[0] = self;
25837 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction408].i]) return;
25838 return_label849: while(false);
25839 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction408].i] = 1;
25840 tracehead = trace.prev;
25841 return;
25842 }
25843 void parser___ReduceAction409___action(val_t self, val_t param0) {
25844 struct trace_t trace = {NULL, NULL, 14505, LOCATE_parser___ReduceAction409___action};
25845 val_t variable[7];
25846 void **closurevariable = NULL;
25847 trace.prev = tracehead; tracehead = &trace;
25848 trace.file = LOCATE_parser;
25849 variable[0] = self;
25850 variable[1] = param0;
25851 variable[3] = NIT_NULL /*null*/;
25852 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25853 variable[4] = variable[5];
25854 variable[5] = variable[4] /*nodearraylist1*/;
25855 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25856 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction409___action, LOCATE_parser, 14510); nit_exit(1);}
25857 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
25858 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(76)) /*Parser::go_to*/;
25859 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
25860 return_label850: while(false);
25861 tracehead = trace.prev;
25862 return;
25863 }
25864 void parser___ReduceAction409___init(val_t self, int* init_table) {
25865 struct trace_t trace = {NULL, NULL, 14514, LOCATE_parser___ReduceAction409___init};
25866 val_t variable[2];
25867 void **closurevariable = NULL;
25868 trace.prev = tracehead; tracehead = &trace;
25869 trace.file = LOCATE_parser;
25870 variable[0] = self;
25871 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction409].i]) return;
25872 return_label851: while(false);
25873 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction409].i] = 1;
25874 tracehead = trace.prev;
25875 return;
25876 }
25877 void parser___ReduceAction410___action(val_t self, val_t param0) {
25878 struct trace_t trace = {NULL, NULL, 14518, LOCATE_parser___ReduceAction410___action};
25879 val_t variable[12];
25880 void **closurevariable = NULL;
25881 trace.prev = tracehead; tracehead = &trace;
25882 trace.file = LOCATE_parser;
25883 variable[0] = self;
25884 variable[1] = param0;
25885 variable[3] = NIT_NULL /*null*/;
25886 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25887 variable[4] = variable[5];
25888 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25889 variable[5] = variable[6];
25890 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25891 variable[6] = variable[7];
25892 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25893 variable[7] = variable[8];
25894 variable[8] = variable[7] /*nodearraylist1*/;
25895 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25896 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction410___action, LOCATE_parser, 14526); nit_exit(1);}
25897 variable[9] = variable[4] /*nodearraylist4*/;
25898 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25899 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction410___action, LOCATE_parser, 14528); nit_exit(1);}
25900 variable[11] = NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AOrExpr*/
25901 variable[10] = variable[11];
25902 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
25903 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(76)) /*Parser::go_to*/;
25904 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
25905 return_label852: while(false);
25906 tracehead = trace.prev;
25907 return;
25908 }
25909 void parser___ReduceAction410___init(val_t self, int* init_table) {
25910 struct trace_t trace = {NULL, NULL, 14536, LOCATE_parser___ReduceAction410___init};
25911 val_t variable[2];
25912 void **closurevariable = NULL;
25913 trace.prev = tracehead; tracehead = &trace;
25914 trace.file = LOCATE_parser;
25915 variable[0] = self;
25916 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction410].i]) return;
25917 return_label853: while(false);
25918 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction410].i] = 1;
25919 tracehead = trace.prev;
25920 return;
25921 }
25922 void parser___ReduceAction411___action(val_t self, val_t param0) {
25923 struct trace_t trace = {NULL, NULL, 14540, LOCATE_parser___ReduceAction411___action};
25924 val_t variable[12];
25925 void **closurevariable = NULL;
25926 trace.prev = tracehead; tracehead = &trace;
25927 trace.file = LOCATE_parser;
25928 variable[0] = self;
25929 variable[1] = param0;
25930 variable[3] = NIT_NULL /*null*/;
25931 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25932 variable[4] = variable[5];
25933 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25934 variable[5] = variable[6];
25935 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25936 variable[6] = variable[7];
25937 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25938 variable[7] = variable[8];
25939 variable[8] = variable[7] /*nodearraylist1*/;
25940 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25941 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction411___action, LOCATE_parser, 14548); nit_exit(1);}
25942 variable[9] = variable[4] /*nodearraylist4*/;
25943 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25944 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction411___action, LOCATE_parser, 14550); nit_exit(1);}
25945 variable[11] = NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AAndExpr*/
25946 variable[10] = variable[11];
25947 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
25948 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(76)) /*Parser::go_to*/;
25949 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
25950 return_label854: while(false);
25951 tracehead = trace.prev;
25952 return;
25953 }
25954 void parser___ReduceAction411___init(val_t self, int* init_table) {
25955 struct trace_t trace = {NULL, NULL, 14558, LOCATE_parser___ReduceAction411___init};
25956 val_t variable[2];
25957 void **closurevariable = NULL;
25958 trace.prev = tracehead; tracehead = &trace;
25959 trace.file = LOCATE_parser;
25960 variable[0] = self;
25961 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction411].i]) return;
25962 return_label855: while(false);
25963 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction411].i] = 1;
25964 tracehead = trace.prev;
25965 return;
25966 }
25967 void parser___ReduceAction412___action(val_t self, val_t param0) {
25968 struct trace_t trace = {NULL, NULL, 14562, LOCATE_parser___ReduceAction412___action};
25969 val_t variable[7];
25970 void **closurevariable = NULL;
25971 trace.prev = tracehead; tracehead = &trace;
25972 trace.file = LOCATE_parser;
25973 variable[0] = self;
25974 variable[1] = param0;
25975 variable[3] = NIT_NULL /*null*/;
25976 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25977 variable[4] = variable[5];
25978 variable[5] = variable[4] /*nodearraylist1*/;
25979 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25980 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction412___action, LOCATE_parser, 14567); nit_exit(1);}
25981 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
25982 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(77)) /*Parser::go_to*/;
25983 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
25984 return_label856: while(false);
25985 tracehead = trace.prev;
25986 return;
25987 }
25988 void parser___ReduceAction412___init(val_t self, int* init_table) {
25989 struct trace_t trace = {NULL, NULL, 14571, LOCATE_parser___ReduceAction412___init};
25990 val_t variable[2];
25991 void **closurevariable = NULL;
25992 trace.prev = tracehead; tracehead = &trace;
25993 trace.file = LOCATE_parser;
25994 variable[0] = self;
25995 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction412].i]) return;
25996 return_label857: while(false);
25997 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction412].i] = 1;
25998 tracehead = trace.prev;
25999 return;
26000 }
26001 void parser___ReduceAction413___action(val_t self, val_t param0) {
26002 struct trace_t trace = {NULL, NULL, 14575, LOCATE_parser___ReduceAction413___action};
26003 val_t variable[11];
26004 void **closurevariable = NULL;
26005 trace.prev = tracehead; tracehead = &trace;
26006 trace.file = LOCATE_parser;
26007 variable[0] = self;
26008 variable[1] = param0;
26009 variable[3] = NIT_NULL /*null*/;
26010 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26011 variable[4] = variable[5];
26012 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26013 variable[5] = variable[6];
26014 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26015 variable[6] = variable[7];
26016 variable[7] = variable[6] /*nodearraylist1*/;
26017 variable[8] = TAG_Bool(( variable[7] /*tkwnotnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwnotnode2*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
26018 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction413___action, LOCATE_parser, 14582); nit_exit(1);}
26019 variable[8] = variable[4] /*nodearraylist3*/;
26020 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26021 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction413___action, LOCATE_parser, 14584); nit_exit(1);}
26022 variable[10] = NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr( variable[7] /*tkwnotnode2*/, variable[8] /*pexprnode3*/); /*new ANotExpr*/
26023 variable[9] = variable[10];
26024 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
26025 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(77)) /*Parser::go_to*/;
26026 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
26027 return_label858: while(false);
26028 tracehead = trace.prev;
26029 return;
26030 }
26031 void parser___ReduceAction413___init(val_t self, int* init_table) {
26032 struct trace_t trace = {NULL, NULL, 14592, LOCATE_parser___ReduceAction413___init};
26033 val_t variable[2];
26034 void **closurevariable = NULL;
26035 trace.prev = tracehead; tracehead = &trace;
26036 trace.file = LOCATE_parser;
26037 variable[0] = self;
26038 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction413].i]) return;
26039 return_label859: while(false);
26040 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction413].i] = 1;
26041 tracehead = trace.prev;
26042 return;
26043 }
26044 void parser___ReduceAction414___action(val_t self, val_t param0) {
26045 struct trace_t trace = {NULL, NULL, 14596, LOCATE_parser___ReduceAction414___action};
26046 val_t variable[7];
26047 void **closurevariable = NULL;
26048 trace.prev = tracehead; tracehead = &trace;
26049 trace.file = LOCATE_parser;
26050 variable[0] = self;
26051 variable[1] = param0;
26052 variable[3] = NIT_NULL /*null*/;
26053 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26054 variable[4] = variable[5];
26055 variable[5] = variable[4] /*nodearraylist1*/;
26056 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26057 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction414___action, LOCATE_parser, 14601); nit_exit(1);}
26058 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
26059 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(78)) /*Parser::go_to*/;
26060 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
26061 return_label860: while(false);
26062 tracehead = trace.prev;
26063 return;
26064 }
26065 void parser___ReduceAction414___init(val_t self, int* init_table) {
26066 struct trace_t trace = {NULL, NULL, 14605, LOCATE_parser___ReduceAction414___init};
26067 val_t variable[2];
26068 void **closurevariable = NULL;
26069 trace.prev = tracehead; tracehead = &trace;
26070 trace.file = LOCATE_parser;
26071 variable[0] = self;
26072 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction414].i]) return;
26073 return_label861: while(false);
26074 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction414].i] = 1;
26075 tracehead = trace.prev;
26076 return;
26077 }
26078 void parser___ReduceAction415___action(val_t self, val_t param0) {
26079 struct trace_t trace = {NULL, NULL, 14609, LOCATE_parser___ReduceAction415___action};
26080 val_t variable[12];
26081 void **closurevariable = NULL;
26082 trace.prev = tracehead; tracehead = &trace;
26083 trace.file = LOCATE_parser;
26084 variable[0] = self;
26085 variable[1] = param0;
26086 variable[3] = NIT_NULL /*null*/;
26087 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26088 variable[4] = variable[5];
26089 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26090 variable[5] = variable[6];
26091 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26092 variable[6] = variable[7];
26093 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26094 variable[7] = variable[8];
26095 variable[8] = variable[7] /*nodearraylist1*/;
26096 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26097 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction415___action, LOCATE_parser, 14617); nit_exit(1);}
26098 variable[9] = variable[4] /*nodearraylist4*/;
26099 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26100 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction415___action, LOCATE_parser, 14619); nit_exit(1);}
26101 variable[11] = NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AEqExpr*/
26102 variable[10] = variable[11];
26103 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
26104 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(78)) /*Parser::go_to*/;
26105 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
26106 return_label862: while(false);
26107 tracehead = trace.prev;
26108 return;
26109 }
26110 void parser___ReduceAction415___init(val_t self, int* init_table) {
26111 struct trace_t trace = {NULL, NULL, 14627, LOCATE_parser___ReduceAction415___init};
26112 val_t variable[2];
26113 void **closurevariable = NULL;
26114 trace.prev = tracehead; tracehead = &trace;
26115 trace.file = LOCATE_parser;
26116 variable[0] = self;
26117 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction415].i]) return;
26118 return_label863: while(false);
26119 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction415].i] = 1;
26120 tracehead = trace.prev;
26121 return;
26122 }
26123 void parser___ReduceAction416___action(val_t self, val_t param0) {
26124 struct trace_t trace = {NULL, NULL, 14631, LOCATE_parser___ReduceAction416___action};
26125 val_t variable[12];
26126 void **closurevariable = NULL;
26127 trace.prev = tracehead; tracehead = &trace;
26128 trace.file = LOCATE_parser;
26129 variable[0] = self;
26130 variable[1] = param0;
26131 variable[3] = NIT_NULL /*null*/;
26132 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26133 variable[4] = variable[5];
26134 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26135 variable[5] = variable[6];
26136 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26137 variable[6] = variable[7];
26138 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26139 variable[7] = variable[8];
26140 variable[8] = variable[7] /*nodearraylist1*/;
26141 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26142 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction416___action, LOCATE_parser, 14639); nit_exit(1);}
26143 variable[9] = variable[4] /*nodearraylist4*/;
26144 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26145 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction416___action, LOCATE_parser, 14641); nit_exit(1);}
26146 variable[11] = NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AEeExpr*/
26147 variable[10] = variable[11];
26148 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
26149 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(78)) /*Parser::go_to*/;
26150 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
26151 return_label864: while(false);
26152 tracehead = trace.prev;
26153 return;
26154 }
26155 void parser___ReduceAction416___init(val_t self, int* init_table) {
26156 struct trace_t trace = {NULL, NULL, 14649, LOCATE_parser___ReduceAction416___init};
26157 val_t variable[2];
26158 void **closurevariable = NULL;
26159 trace.prev = tracehead; tracehead = &trace;
26160 trace.file = LOCATE_parser;
26161 variable[0] = self;
26162 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction416].i]) return;
26163 return_label865: while(false);
26164 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction416].i] = 1;
26165 tracehead = trace.prev;
26166 return;
26167 }
26168 void parser___ReduceAction417___action(val_t self, val_t param0) {
26169 struct trace_t trace = {NULL, NULL, 14653, LOCATE_parser___ReduceAction417___action};
26170 val_t variable[12];
26171 void **closurevariable = NULL;
26172 trace.prev = tracehead; tracehead = &trace;
26173 trace.file = LOCATE_parser;
26174 variable[0] = self;
26175 variable[1] = param0;
26176 variable[3] = NIT_NULL /*null*/;
26177 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26178 variable[4] = variable[5];
26179 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26180 variable[5] = variable[6];
26181 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26182 variable[6] = variable[7];
26183 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26184 variable[7] = variable[8];
26185 variable[8] = variable[7] /*nodearraylist1*/;
26186 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26187 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction417___action, LOCATE_parser, 14661); nit_exit(1);}
26188 variable[9] = variable[4] /*nodearraylist4*/;
26189 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26190 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction417___action, LOCATE_parser, 14663); nit_exit(1);}
26191 variable[11] = NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ANeExpr*/
26192 variable[10] = variable[11];
26193 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
26194 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(78)) /*Parser::go_to*/;
26195 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
26196 return_label866: while(false);
26197 tracehead = trace.prev;
26198 return;
26199 }
26200 void parser___ReduceAction417___init(val_t self, int* init_table) {
26201 struct trace_t trace = {NULL, NULL, 14671, LOCATE_parser___ReduceAction417___init};
26202 val_t variable[2];
26203 void **closurevariable = NULL;
26204 trace.prev = tracehead; tracehead = &trace;
26205 trace.file = LOCATE_parser;
26206 variable[0] = self;
26207 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction417].i]) return;
26208 return_label867: while(false);
26209 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction417].i] = 1;
26210 tracehead = trace.prev;
26211 return;
26212 }
26213 void parser___ReduceAction418___action(val_t self, val_t param0) {
26214 struct trace_t trace = {NULL, NULL, 14675, LOCATE_parser___ReduceAction418___action};
26215 val_t variable[12];
26216 void **closurevariable = NULL;
26217 trace.prev = tracehead; tracehead = &trace;
26218 trace.file = LOCATE_parser;
26219 variable[0] = self;
26220 variable[1] = param0;
26221 variable[3] = NIT_NULL /*null*/;
26222 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26223 variable[4] = variable[5];
26224 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26225 variable[5] = variable[6];
26226 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26227 variable[6] = variable[7];
26228 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26229 variable[7] = variable[8];
26230 variable[8] = variable[7] /*nodearraylist1*/;
26231 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26232 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction418___action, LOCATE_parser, 14683); nit_exit(1);}
26233 variable[9] = variable[4] /*nodearraylist4*/;
26234 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26235 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction418___action, LOCATE_parser, 14685); nit_exit(1);}
26236 variable[11] = NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ALtExpr*/
26237 variable[10] = variable[11];
26238 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
26239 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(78)) /*Parser::go_to*/;
26240 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
26241 return_label868: while(false);
26242 tracehead = trace.prev;
26243 return;
26244 }
26245 void parser___ReduceAction418___init(val_t self, int* init_table) {
26246 struct trace_t trace = {NULL, NULL, 14693, LOCATE_parser___ReduceAction418___init};
26247 val_t variable[2];
26248 void **closurevariable = NULL;
26249 trace.prev = tracehead; tracehead = &trace;
26250 trace.file = LOCATE_parser;
26251 variable[0] = self;
26252 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction418].i]) return;
26253 return_label869: while(false);
26254 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction418].i] = 1;
26255 tracehead = trace.prev;
26256 return;
26257 }
26258 void parser___ReduceAction419___action(val_t self, val_t param0) {
26259 struct trace_t trace = {NULL, NULL, 14697, LOCATE_parser___ReduceAction419___action};
26260 val_t variable[12];
26261 void **closurevariable = NULL;
26262 trace.prev = tracehead; tracehead = &trace;
26263 trace.file = LOCATE_parser;
26264 variable[0] = self;
26265 variable[1] = param0;
26266 variable[3] = NIT_NULL /*null*/;
26267 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26268 variable[4] = variable[5];
26269 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26270 variable[5] = variable[6];
26271 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26272 variable[6] = variable[7];
26273 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26274 variable[7] = variable[8];
26275 variable[8] = variable[7] /*nodearraylist1*/;
26276 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26277 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction419___action, LOCATE_parser, 14705); nit_exit(1);}
26278 variable[9] = variable[4] /*nodearraylist4*/;
26279 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26280 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction419___action, LOCATE_parser, 14707); nit_exit(1);}
26281 variable[11] = NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ALeExpr*/
26282 variable[10] = variable[11];
26283 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
26284 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(78)) /*Parser::go_to*/;
26285 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
26286 return_label870: while(false);
26287 tracehead = trace.prev;
26288 return;
26289 }
26290 void parser___ReduceAction419___init(val_t self, int* init_table) {
26291 struct trace_t trace = {NULL, NULL, 14715, LOCATE_parser___ReduceAction419___init};
26292 val_t variable[2];
26293 void **closurevariable = NULL;
26294 trace.prev = tracehead; tracehead = &trace;
26295 trace.file = LOCATE_parser;
26296 variable[0] = self;
26297 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction419].i]) return;
26298 return_label871: while(false);
26299 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction419].i] = 1;
26300 tracehead = trace.prev;
26301 return;
26302 }
26303 void parser___ReduceAction420___action(val_t self, val_t param0) {
26304 struct trace_t trace = {NULL, NULL, 14719, LOCATE_parser___ReduceAction420___action};
26305 val_t variable[12];
26306 void **closurevariable = NULL;
26307 trace.prev = tracehead; tracehead = &trace;
26308 trace.file = LOCATE_parser;
26309 variable[0] = self;
26310 variable[1] = param0;
26311 variable[3] = NIT_NULL /*null*/;
26312 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26313 variable[4] = variable[5];
26314 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26315 variable[5] = variable[6];
26316 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26317 variable[6] = variable[7];
26318 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26319 variable[7] = variable[8];
26320 variable[8] = variable[7] /*nodearraylist1*/;
26321 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26322 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction420___action, LOCATE_parser, 14727); nit_exit(1);}
26323 variable[9] = variable[4] /*nodearraylist4*/;
26324 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26325 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction420___action, LOCATE_parser, 14729); nit_exit(1);}
26326 variable[11] = NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AGtExpr*/
26327 variable[10] = variable[11];
26328 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
26329 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(78)) /*Parser::go_to*/;
26330 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
26331 return_label872: while(false);
26332 tracehead = trace.prev;
26333 return;
26334 }
26335 void parser___ReduceAction420___init(val_t self, int* init_table) {
26336 struct trace_t trace = {NULL, NULL, 14737, LOCATE_parser___ReduceAction420___init};
26337 val_t variable[2];
26338 void **closurevariable = NULL;
26339 trace.prev = tracehead; tracehead = &trace;
26340 trace.file = LOCATE_parser;
26341 variable[0] = self;
26342 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction420].i]) return;
26343 return_label873: while(false);
26344 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction420].i] = 1;
26345 tracehead = trace.prev;
26346 return;
26347 }
26348 void parser___ReduceAction421___action(val_t self, val_t param0) {
26349 struct trace_t trace = {NULL, NULL, 14741, LOCATE_parser___ReduceAction421___action};
26350 val_t variable[12];
26351 void **closurevariable = NULL;
26352 trace.prev = tracehead; tracehead = &trace;
26353 trace.file = LOCATE_parser;
26354 variable[0] = self;
26355 variable[1] = param0;
26356 variable[3] = NIT_NULL /*null*/;
26357 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26358 variable[4] = variable[5];
26359 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26360 variable[5] = variable[6];
26361 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26362 variable[6] = variable[7];
26363 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26364 variable[7] = variable[8];
26365 variable[8] = variable[7] /*nodearraylist1*/;
26366 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26367 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction421___action, LOCATE_parser, 14749); nit_exit(1);}
26368 variable[9] = variable[4] /*nodearraylist4*/;
26369 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26370 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction421___action, LOCATE_parser, 14751); nit_exit(1);}
26371 variable[11] = NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AGeExpr*/
26372 variable[10] = variable[11];
26373 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
26374 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(78)) /*Parser::go_to*/;
26375 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
26376 return_label874: while(false);
26377 tracehead = trace.prev;
26378 return;
26379 }
26380 void parser___ReduceAction421___init(val_t self, int* init_table) {
26381 struct trace_t trace = {NULL, NULL, 14759, LOCATE_parser___ReduceAction421___init};
26382 val_t variable[2];
26383 void **closurevariable = NULL;
26384 trace.prev = tracehead; tracehead = &trace;
26385 trace.file = LOCATE_parser;
26386 variable[0] = self;
26387 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction421].i]) return;
26388 return_label875: while(false);
26389 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction421].i] = 1;
26390 tracehead = trace.prev;
26391 return;
26392 }
26393 void parser___ReduceAction422___action(val_t self, val_t param0) {
26394 struct trace_t trace = {NULL, NULL, 14763, LOCATE_parser___ReduceAction422___action};
26395 val_t variable[12];
26396 void **closurevariable = NULL;
26397 trace.prev = tracehead; tracehead = &trace;
26398 trace.file = LOCATE_parser;
26399 variable[0] = self;
26400 variable[1] = param0;
26401 variable[3] = NIT_NULL /*null*/;
26402 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26403 variable[4] = variable[5];
26404 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26405 variable[5] = variable[6];
26406 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26407 variable[6] = variable[7];
26408 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26409 variable[7] = variable[8];
26410 variable[8] = variable[7] /*nodearraylist1*/;
26411 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26412 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction422___action, LOCATE_parser, 14771); nit_exit(1);}
26413 variable[9] = variable[4] /*nodearraylist4*/;
26414 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26415 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction422___action, LOCATE_parser, 14773); nit_exit(1);}
26416 variable[11] = NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AStarshipExpr*/
26417 variable[10] = variable[11];
26418 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
26419 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(78)) /*Parser::go_to*/;
26420 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
26421 return_label876: while(false);
26422 tracehead = trace.prev;
26423 return;
26424 }
26425 void parser___ReduceAction422___init(val_t self, int* init_table) {
26426 struct trace_t trace = {NULL, NULL, 14781, LOCATE_parser___ReduceAction422___init};
26427 val_t variable[2];
26428 void **closurevariable = NULL;
26429 trace.prev = tracehead; tracehead = &trace;
26430 trace.file = LOCATE_parser;
26431 variable[0] = self;
26432 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction422].i]) return;
26433 return_label877: while(false);
26434 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction422].i] = 1;
26435 tracehead = trace.prev;
26436 return;
26437 }
26438 void parser___ReduceAction423___action(val_t self, val_t param0) {
26439 struct trace_t trace = {NULL, NULL, 14785, LOCATE_parser___ReduceAction423___action};
26440 val_t variable[12];
26441 void **closurevariable = NULL;
26442 trace.prev = tracehead; tracehead = &trace;
26443 trace.file = LOCATE_parser;
26444 variable[0] = self;
26445 variable[1] = param0;
26446 variable[3] = NIT_NULL /*null*/;
26447 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26448 variable[4] = variable[5];
26449 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26450 variable[5] = variable[6];
26451 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26452 variable[6] = variable[7];
26453 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26454 variable[7] = variable[8];
26455 variable[8] = variable[7] /*nodearraylist1*/;
26456 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26457 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction423___action, LOCATE_parser, 14793); nit_exit(1);}
26458 variable[9] = variable[4] /*nodearraylist4*/;
26459 variable[10] = TAG_Bool(( variable[9] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[9] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
26460 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction423___action, LOCATE_parser, 14795); nit_exit(1);}
26461 variable[11] = NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr( variable[8] /*pexprnode2*/, variable[9] /*ptypenode3*/); /*new AIsaExpr*/
26462 variable[10] = variable[11];
26463 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
26464 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(78)) /*Parser::go_to*/;
26465 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
26466 return_label878: while(false);
26467 tracehead = trace.prev;
26468 return;
26469 }
26470 void parser___ReduceAction423___init(val_t self, int* init_table) {
26471 struct trace_t trace = {NULL, NULL, 14803, LOCATE_parser___ReduceAction423___init};
26472 val_t variable[2];
26473 void **closurevariable = NULL;
26474 trace.prev = tracehead; tracehead = &trace;
26475 trace.file = LOCATE_parser;
26476 variable[0] = self;
26477 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction423].i]) return;
26478 return_label879: while(false);
26479 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction423].i] = 1;
26480 tracehead = trace.prev;
26481 return;
26482 }
26483 void parser___ReduceAction424___action(val_t self, val_t param0) {
26484 struct trace_t trace = {NULL, NULL, 14807, LOCATE_parser___ReduceAction424___action};
26485 val_t variable[7];
26486 void **closurevariable = NULL;
26487 trace.prev = tracehead; tracehead = &trace;
26488 trace.file = LOCATE_parser;
26489 variable[0] = self;
26490 variable[1] = param0;
26491 variable[3] = NIT_NULL /*null*/;
26492 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26493 variable[4] = variable[5];
26494 variable[5] = variable[4] /*nodearraylist1*/;
26495 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26496 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction424___action, LOCATE_parser, 14812); nit_exit(1);}
26497 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
26498 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(79)) /*Parser::go_to*/;
26499 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
26500 return_label880: while(false);
26501 tracehead = trace.prev;
26502 return;
26503 }
26504 void parser___ReduceAction424___init(val_t self, int* init_table) {
26505 struct trace_t trace = {NULL, NULL, 14816, LOCATE_parser___ReduceAction424___init};
26506 val_t variable[2];
26507 void **closurevariable = NULL;
26508 trace.prev = tracehead; tracehead = &trace;
26509 trace.file = LOCATE_parser;
26510 variable[0] = self;
26511 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction424].i]) return;
26512 return_label881: while(false);
26513 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction424].i] = 1;
26514 tracehead = trace.prev;
26515 return;
26516 }
26517 void parser___ReduceAction425___action(val_t self, val_t param0) {
26518 struct trace_t trace = {NULL, NULL, 14820, LOCATE_parser___ReduceAction425___action};
26519 val_t variable[12];
26520 void **closurevariable = NULL;
26521 trace.prev = tracehead; tracehead = &trace;
26522 trace.file = LOCATE_parser;
26523 variable[0] = self;
26524 variable[1] = param0;
26525 variable[3] = NIT_NULL /*null*/;
26526 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26527 variable[4] = variable[5];
26528 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26529 variable[5] = variable[6];
26530 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26531 variable[6] = variable[7];
26532 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26533 variable[7] = variable[8];
26534 variable[8] = variable[7] /*nodearraylist1*/;
26535 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26536 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction425___action, LOCATE_parser, 14828); nit_exit(1);}
26537 variable[9] = variable[4] /*nodearraylist4*/;
26538 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26539 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction425___action, LOCATE_parser, 14830); nit_exit(1);}
26540 variable[11] = NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new APlusExpr*/
26541 variable[10] = variable[11];
26542 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
26543 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(79)) /*Parser::go_to*/;
26544 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
26545 return_label882: while(false);
26546 tracehead = trace.prev;
26547 return;
26548 }
26549 void parser___ReduceAction425___init(val_t self, int* init_table) {
26550 struct trace_t trace = {NULL, NULL, 14838, LOCATE_parser___ReduceAction425___init};
26551 val_t variable[2];
26552 void **closurevariable = NULL;
26553 trace.prev = tracehead; tracehead = &trace;
26554 trace.file = LOCATE_parser;
26555 variable[0] = self;
26556 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction425].i]) return;
26557 return_label883: while(false);
26558 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction425].i] = 1;
26559 tracehead = trace.prev;
26560 return;
26561 }
26562 void parser___ReduceAction426___action(val_t self, val_t param0) {
26563 struct trace_t trace = {NULL, NULL, 14842, LOCATE_parser___ReduceAction426___action};
26564 val_t variable[12];
26565 void **closurevariable = NULL;
26566 trace.prev = tracehead; tracehead = &trace;
26567 trace.file = LOCATE_parser;
26568 variable[0] = self;
26569 variable[1] = param0;
26570 variable[3] = NIT_NULL /*null*/;
26571 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26572 variable[4] = variable[5];
26573 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26574 variable[5] = variable[6];
26575 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26576 variable[6] = variable[7];
26577 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26578 variable[7] = variable[8];
26579 variable[8] = variable[7] /*nodearraylist1*/;
26580 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26581 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction426___action, LOCATE_parser, 14850); nit_exit(1);}
26582 variable[9] = variable[4] /*nodearraylist4*/;
26583 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26584 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction426___action, LOCATE_parser, 14852); nit_exit(1);}
26585 variable[11] = NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AMinusExpr*/
26586 variable[10] = variable[11];
26587 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
26588 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(79)) /*Parser::go_to*/;
26589 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
26590 return_label884: while(false);
26591 tracehead = trace.prev;
26592 return;
26593 }
26594 void parser___ReduceAction426___init(val_t self, int* init_table) {
26595 struct trace_t trace = {NULL, NULL, 14860, LOCATE_parser___ReduceAction426___init};
26596 val_t variable[2];
26597 void **closurevariable = NULL;
26598 trace.prev = tracehead; tracehead = &trace;
26599 trace.file = LOCATE_parser;
26600 variable[0] = self;
26601 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction426].i]) return;
26602 return_label885: while(false);
26603 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction426].i] = 1;
26604 tracehead = trace.prev;
26605 return;
26606 }
26607 void parser___ReduceAction427___action(val_t self, val_t param0) {
26608 struct trace_t trace = {NULL, NULL, 14864, LOCATE_parser___ReduceAction427___action};
26609 val_t variable[7];
26610 void **closurevariable = NULL;
26611 trace.prev = tracehead; tracehead = &trace;
26612 trace.file = LOCATE_parser;
26613 variable[0] = self;
26614 variable[1] = param0;
26615 variable[3] = NIT_NULL /*null*/;
26616 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26617 variable[4] = variable[5];
26618 variable[5] = variable[4] /*nodearraylist1*/;
26619 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26620 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction427___action, LOCATE_parser, 14869); nit_exit(1);}
26621 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
26622 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(80)) /*Parser::go_to*/;
26623 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
26624 return_label886: while(false);
26625 tracehead = trace.prev;
26626 return;
26627 }
26628 void parser___ReduceAction427___init(val_t self, int* init_table) {
26629 struct trace_t trace = {NULL, NULL, 14873, LOCATE_parser___ReduceAction427___init};
26630 val_t variable[2];
26631 void **closurevariable = NULL;
26632 trace.prev = tracehead; tracehead = &trace;
26633 trace.file = LOCATE_parser;
26634 variable[0] = self;
26635 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction427].i]) return;
26636 return_label887: while(false);
26637 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction427].i] = 1;
26638 tracehead = trace.prev;
26639 return;
26640 }
26641 void parser___ReduceAction428___action(val_t self, val_t param0) {
26642 struct trace_t trace = {NULL, NULL, 14877, LOCATE_parser___ReduceAction428___action};
26643 val_t variable[12];
26644 void **closurevariable = NULL;
26645 trace.prev = tracehead; tracehead = &trace;
26646 trace.file = LOCATE_parser;
26647 variable[0] = self;
26648 variable[1] = param0;
26649 variable[3] = NIT_NULL /*null*/;
26650 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26651 variable[4] = variable[5];
26652 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26653 variable[5] = variable[6];
26654 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26655 variable[6] = variable[7];
26656 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26657 variable[7] = variable[8];
26658 variable[8] = variable[7] /*nodearraylist1*/;
26659 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26660 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction428___action, LOCATE_parser, 14885); nit_exit(1);}
26661 variable[9] = variable[4] /*nodearraylist4*/;
26662 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26663 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction428___action, LOCATE_parser, 14887); nit_exit(1);}
26664 variable[11] = NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AStarExpr*/
26665 variable[10] = variable[11];
26666 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
26667 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(80)) /*Parser::go_to*/;
26668 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
26669 return_label888: while(false);
26670 tracehead = trace.prev;
26671 return;
26672 }
26673 void parser___ReduceAction428___init(val_t self, int* init_table) {
26674 struct trace_t trace = {NULL, NULL, 14895, LOCATE_parser___ReduceAction428___init};
26675 val_t variable[2];
26676 void **closurevariable = NULL;
26677 trace.prev = tracehead; tracehead = &trace;
26678 trace.file = LOCATE_parser;
26679 variable[0] = self;
26680 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction428].i]) return;
26681 return_label889: while(false);
26682 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction428].i] = 1;
26683 tracehead = trace.prev;
26684 return;
26685 }
26686 void parser___ReduceAction429___action(val_t self, val_t param0) {
26687 struct trace_t trace = {NULL, NULL, 14899, LOCATE_parser___ReduceAction429___action};
26688 val_t variable[12];
26689 void **closurevariable = NULL;
26690 trace.prev = tracehead; tracehead = &trace;
26691 trace.file = LOCATE_parser;
26692 variable[0] = self;
26693 variable[1] = param0;
26694 variable[3] = NIT_NULL /*null*/;
26695 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26696 variable[4] = variable[5];
26697 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26698 variable[5] = variable[6];
26699 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26700 variable[6] = variable[7];
26701 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26702 variable[7] = variable[8];
26703 variable[8] = variable[7] /*nodearraylist1*/;
26704 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26705 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction429___action, LOCATE_parser, 14907); nit_exit(1);}
26706 variable[9] = variable[4] /*nodearraylist4*/;
26707 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26708 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction429___action, LOCATE_parser, 14909); nit_exit(1);}
26709 variable[11] = NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ASlashExpr*/
26710 variable[10] = variable[11];
26711 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
26712 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(80)) /*Parser::go_to*/;
26713 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
26714 return_label890: while(false);
26715 tracehead = trace.prev;
26716 return;
26717 }
26718 void parser___ReduceAction429___init(val_t self, int* init_table) {
26719 struct trace_t trace = {NULL, NULL, 14917, LOCATE_parser___ReduceAction429___init};
26720 val_t variable[2];
26721 void **closurevariable = NULL;
26722 trace.prev = tracehead; tracehead = &trace;
26723 trace.file = LOCATE_parser;
26724 variable[0] = self;
26725 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction429].i]) return;
26726 return_label891: while(false);
26727 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction429].i] = 1;
26728 tracehead = trace.prev;
26729 return;
26730 }
26731 void parser___ReduceAction430___action(val_t self, val_t param0) {
26732 struct trace_t trace = {NULL, NULL, 14921, LOCATE_parser___ReduceAction430___action};
26733 val_t variable[12];
26734 void **closurevariable = NULL;
26735 trace.prev = tracehead; tracehead = &trace;
26736 trace.file = LOCATE_parser;
26737 variable[0] = self;
26738 variable[1] = param0;
26739 variable[3] = NIT_NULL /*null*/;
26740 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26741 variable[4] = variable[5];
26742 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26743 variable[5] = variable[6];
26744 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26745 variable[6] = variable[7];
26746 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26747 variable[7] = variable[8];
26748 variable[8] = variable[7] /*nodearraylist1*/;
26749 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26750 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction430___action, LOCATE_parser, 14929); nit_exit(1);}
26751 variable[9] = variable[4] /*nodearraylist4*/;
26752 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26753 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction430___action, LOCATE_parser, 14931); nit_exit(1);}
26754 variable[11] = NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new APercentExpr*/
26755 variable[10] = variable[11];
26756 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
26757 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(80)) /*Parser::go_to*/;
26758 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
26759 return_label892: while(false);
26760 tracehead = trace.prev;
26761 return;
26762 }
26763 void parser___ReduceAction430___init(val_t self, int* init_table) {
26764 struct trace_t trace = {NULL, NULL, 14939, LOCATE_parser___ReduceAction430___init};
26765 val_t variable[2];
26766 void **closurevariable = NULL;
26767 trace.prev = tracehead; tracehead = &trace;
26768 trace.file = LOCATE_parser;
26769 variable[0] = self;
26770 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction430].i]) return;
26771 return_label893: while(false);
26772 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction430].i] = 1;
26773 tracehead = trace.prev;
26774 return;
26775 }
26776 void parser___ReduceAction431___action(val_t self, val_t param0) {
26777 struct trace_t trace = {NULL, NULL, 14943, LOCATE_parser___ReduceAction431___action};
26778 val_t variable[7];
26779 void **closurevariable = NULL;
26780 trace.prev = tracehead; tracehead = &trace;
26781 trace.file = LOCATE_parser;
26782 variable[0] = self;
26783 variable[1] = param0;
26784 variable[3] = NIT_NULL /*null*/;
26785 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26786 variable[4] = variable[5];
26787 variable[5] = variable[4] /*nodearraylist1*/;
26788 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26789 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction431___action, LOCATE_parser, 14948); nit_exit(1);}
26790 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
26791 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
26792 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
26793 return_label894: while(false);
26794 tracehead = trace.prev;
26795 return;
26796 }
26797 void parser___ReduceAction431___init(val_t self, int* init_table) {
26798 struct trace_t trace = {NULL, NULL, 14952, LOCATE_parser___ReduceAction431___init};
26799 val_t variable[2];
26800 void **closurevariable = NULL;
26801 trace.prev = tracehead; tracehead = &trace;
26802 trace.file = LOCATE_parser;
26803 variable[0] = self;
26804 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction431].i]) return;
26805 return_label895: while(false);
26806 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction431].i] = 1;
26807 tracehead = trace.prev;
26808 return;
26809 }
26810 void parser___ReduceAction432___action(val_t self, val_t param0) {
26811 struct trace_t trace = {NULL, NULL, 14956, LOCATE_parser___ReduceAction432___action};
26812 val_t variable[11];
26813 void **closurevariable = NULL;
26814 trace.prev = tracehead; tracehead = &trace;
26815 trace.file = LOCATE_parser;
26816 variable[0] = self;
26817 variable[1] = param0;
26818 variable[3] = NIT_NULL /*null*/;
26819 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26820 variable[4] = variable[5];
26821 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26822 variable[5] = variable[6];
26823 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26824 variable[6] = variable[7];
26825 variable[7] = variable[6] /*nodearraylist1*/;
26826 variable[8] = TAG_Bool(( variable[7] /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
26827 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction432___action, LOCATE_parser, 14963); nit_exit(1);}
26828 variable[8] = variable[4] /*nodearraylist3*/;
26829 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26830 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction432___action, LOCATE_parser, 14965); nit_exit(1);}
26831 variable[10] = NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr( variable[7] /*tminusnode2*/, variable[8] /*pexprnode3*/); /*new AUminusExpr*/
26832 variable[9] = variable[10];
26833 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
26834 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
26835 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
26836 return_label896: while(false);
26837 tracehead = trace.prev;
26838 return;
26839 }
26840 void parser___ReduceAction432___init(val_t self, int* init_table) {
26841 struct trace_t trace = {NULL, NULL, 14973, LOCATE_parser___ReduceAction432___init};
26842 val_t variable[2];
26843 void **closurevariable = NULL;
26844 trace.prev = tracehead; tracehead = &trace;
26845 trace.file = LOCATE_parser;
26846 variable[0] = self;
26847 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction432].i]) return;
26848 return_label897: while(false);
26849 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction432].i] = 1;
26850 tracehead = trace.prev;
26851 return;
26852 }
26853 void parser___ReduceAction433___action(val_t self, val_t param0) {
26854 struct trace_t trace = {NULL, NULL, 14977, LOCATE_parser___ReduceAction433___action};
26855 val_t variable[11];
26856 void **closurevariable = NULL;
26857 trace.prev = tracehead; tracehead = &trace;
26858 trace.file = LOCATE_parser;
26859 variable[0] = self;
26860 variable[1] = param0;
26861 variable[3] = NIT_NULL /*null*/;
26862 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26863 variable[4] = variable[5];
26864 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26865 variable[5] = variable[6];
26866 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26867 variable[6] = variable[7];
26868 variable[7] = variable[6] /*nodearraylist1*/;
26869 variable[8] = TAG_Bool(( variable[7] /*tkwoncenode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwoncenode2*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/;
26870 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction433___action, LOCATE_parser, 14984); nit_exit(1);}
26871 variable[8] = variable[4] /*nodearraylist3*/;
26872 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26873 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction433___action, LOCATE_parser, 14986); nit_exit(1);}
26874 variable[10] = NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr( variable[7] /*tkwoncenode2*/, variable[8] /*pexprnode3*/); /*new AOnceExpr*/
26875 variable[9] = variable[10];
26876 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
26877 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
26878 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
26879 return_label898: while(false);
26880 tracehead = trace.prev;
26881 return;
26882 }
26883 void parser___ReduceAction433___init(val_t self, int* init_table) {
26884 struct trace_t trace = {NULL, NULL, 14994, LOCATE_parser___ReduceAction433___init};
26885 val_t variable[2];
26886 void **closurevariable = NULL;
26887 trace.prev = tracehead; tracehead = &trace;
26888 trace.file = LOCATE_parser;
26889 variable[0] = self;
26890 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction433].i]) return;
26891 return_label899: while(false);
26892 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction433].i] = 1;
26893 tracehead = trace.prev;
26894 return;
26895 }
26896 void parser___ReduceAction434___action(val_t self, val_t param0) {
26897 struct trace_t trace = {NULL, NULL, 14998, LOCATE_parser___ReduceAction434___action};
26898 val_t variable[7];
26899 void **closurevariable = NULL;
26900 trace.prev = tracehead; tracehead = &trace;
26901 trace.file = LOCATE_parser;
26902 variable[0] = self;
26903 variable[1] = param0;
26904 variable[3] = NIT_NULL /*null*/;
26905 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26906 variable[4] = variable[5];
26907 variable[5] = variable[4] /*nodearraylist1*/;
26908 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26909 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction434___action, LOCATE_parser, 15003); nit_exit(1);}
26910 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
26911 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
26912 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
26913 return_label900: while(false);
26914 tracehead = trace.prev;
26915 return;
26916 }
26917 void parser___ReduceAction434___init(val_t self, int* init_table) {
26918 struct trace_t trace = {NULL, NULL, 15007, LOCATE_parser___ReduceAction434___init};
26919 val_t variable[2];
26920 void **closurevariable = NULL;
26921 trace.prev = tracehead; tracehead = &trace;
26922 trace.file = LOCATE_parser;
26923 variable[0] = self;
26924 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction434].i]) return;
26925 return_label901: while(false);
26926 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction434].i] = 1;
26927 tracehead = trace.prev;
26928 return;
26929 }
26930 void parser___ReduceAction435___action(val_t self, val_t param0) {
26931 struct trace_t trace = {NULL, NULL, 15011, LOCATE_parser___ReduceAction435___action};
26932 val_t variable[14];
26933 void **closurevariable = NULL;
26934 trace.prev = tracehead; tracehead = &trace;
26935 trace.file = LOCATE_parser;
26936 variable[0] = self;
26937 variable[1] = param0;
26938 variable[3] = NIT_NULL /*null*/;
26939 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26940 variable[4] = variable[5];
26941 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26942 variable[5] = variable[6];
26943 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26944 variable[6] = variable[7];
26945 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26946 variable[7] = variable[8];
26947 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
26948 variable[8] = variable[9];
26949 variable[9] = variable[7] /*nodearraylist1*/;
26950 variable[10] = TAG_Bool(( variable[9] /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
26951 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction435___action, LOCATE_parser, 15020); nit_exit(1);}
26952 variable[10] = variable[5] /*nodearraylist3*/;
26953 variable[11] = TAG_Bool(( variable[10] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[10] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
26954 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction435___action, LOCATE_parser, 15022); nit_exit(1);}
26955 variable[11] = variable[4] /*nodearraylist4*/;
26956 variable[12] = TAG_Bool(( variable[11] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
26957 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction435___action, LOCATE_parser, 15024); nit_exit(1);}
26958 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode5*/)( variable[11] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
26959 if (UNTAG_Bool(variable[12])) { /*if*/
26960 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode6*/)( variable[8] /*listnode6*/) /*AbstractArray::is_empty*/;
26961 if (UNTAG_Bool(variable[12])) { /*if*/
26962 variable[8] = variable[11] /*listnode5*/ /*listnode6=*/;
26963 } else { /*if*/
26964 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[11] /*listnode5*/) /*IndexedCollection::append*/;
26965 }
26966 }
26967 variable[13] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable[9] /*tkwnewnode2*/, variable[10] /*ptypenode3*/, NIT_NULL /*null*/, variable[8] /*listnode6*/); /*new ANewExpr*/
26968 variable[12] = variable[13];
26969 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
26970 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
26971 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
26972 return_label902: while(false);
26973 tracehead = trace.prev;
26974 return;
26975 }
26976 void parser___ReduceAction435___init(val_t self, int* init_table) {
26977 struct trace_t trace = {NULL, NULL, 15041, LOCATE_parser___ReduceAction435___init};
26978 val_t variable[2];
26979 void **closurevariable = NULL;
26980 trace.prev = tracehead; tracehead = &trace;
26981 trace.file = LOCATE_parser;
26982 variable[0] = self;
26983 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction435].i]) return;
26984 return_label903: while(false);
26985 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction435].i] = 1;
26986 tracehead = trace.prev;
26987 return;
26988 }
26989 void parser___ReduceAction436___action(val_t self, val_t param0) {
26990 struct trace_t trace = {NULL, NULL, 15045, LOCATE_parser___ReduceAction436___action};
26991 val_t variable[12];
26992 void **closurevariable = NULL;
26993 trace.prev = tracehead; tracehead = &trace;
26994 trace.file = LOCATE_parser;
26995 variable[0] = self;
26996 variable[1] = param0;
26997 variable[3] = NIT_NULL /*null*/;
26998 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26999 variable[4] = variable[5];
27000 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27001 variable[5] = variable[6];
27002 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27003 variable[6] = variable[7];
27004 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27005 variable[7] = variable[8];
27006 variable[8] = variable[7] /*nodearraylist1*/;
27007 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27008 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction436___action, LOCATE_parser, 15053); nit_exit(1);}
27009 variable[9] = variable[4] /*nodearraylist4*/;
27010 variable[10] = TAG_Bool(( variable[9] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
27011 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction436___action, LOCATE_parser, 15055); nit_exit(1);}
27012 variable[11] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable[8] /*pexprnode2*/, variable[9] /*tattridnode3*/); /*new AAttrExpr*/
27013 variable[10] = variable[11];
27014 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
27015 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
27016 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
27017 return_label904: while(false);
27018 tracehead = trace.prev;
27019 return;
27020 }
27021 void parser___ReduceAction436___init(val_t self, int* init_table) {
27022 struct trace_t trace = {NULL, NULL, 15063, LOCATE_parser___ReduceAction436___init};
27023 val_t variable[2];
27024 void **closurevariable = NULL;
27025 trace.prev = tracehead; tracehead = &trace;
27026 trace.file = LOCATE_parser;
27027 variable[0] = self;
27028 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction436].i]) return;
27029 return_label905: while(false);
27030 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction436].i] = 1;
27031 tracehead = trace.prev;
27032 return;
27033 }
27034 void parser___ReduceAction437___action(val_t self, val_t param0) {
27035 struct trace_t trace = {NULL, NULL, 15067, LOCATE_parser___ReduceAction437___action};
27036 val_t variable[9];
27037 void **closurevariable = NULL;
27038 trace.prev = tracehead; tracehead = &trace;
27039 trace.file = LOCATE_parser;
27040 variable[0] = self;
27041 variable[1] = param0;
27042 variable[3] = NIT_NULL /*null*/;
27043 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27044 variable[4] = variable[5];
27045 variable[6] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
27046 variable[5] = variable[6];
27047 variable[6] = variable[4] /*nodearraylist1*/;
27048 variable[7] = TAG_Bool(( variable[6] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[6] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
27049 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction437___action, LOCATE_parser, 15074); nit_exit(1);}
27050 variable[8] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable[5] /*pexprnode2*/, variable[6] /*tattridnode3*/); /*new AAttrExpr*/
27051 variable[7] = variable[8];
27052 variable[3] = variable[7] /*pexprnode1*/ /*node_list=*/;
27053 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
27054 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
27055 return_label906: while(false);
27056 tracehead = trace.prev;
27057 return;
27058 }
27059 void parser___ReduceAction437___init(val_t self, int* init_table) {
27060 struct trace_t trace = {NULL, NULL, 15082, LOCATE_parser___ReduceAction437___init};
27061 val_t variable[2];
27062 void **closurevariable = NULL;
27063 trace.prev = tracehead; tracehead = &trace;
27064 trace.file = LOCATE_parser;
27065 variable[0] = self;
27066 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction437].i]) return;
27067 return_label907: while(false);
27068 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction437].i] = 1;
27069 tracehead = trace.prev;
27070 return;
27071 }
27072 void parser___ReduceAction438___action(val_t self, val_t param0) {
27073 struct trace_t trace = {NULL, NULL, 15086, LOCATE_parser___ReduceAction438___action};
27074 val_t variable[16];
27075 void **closurevariable = NULL;
27076 trace.prev = tracehead; tracehead = &trace;
27077 trace.file = LOCATE_parser;
27078 variable[0] = self;
27079 variable[1] = param0;
27080 variable[3] = NIT_NULL /*null*/;
27081 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27082 variable[4] = variable[5];
27083 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27084 variable[5] = variable[6];
27085 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27086 variable[6] = variable[7];
27087 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27088 variable[7] = variable[8];
27089 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27090 variable[8] = variable[9];
27091 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27092 variable[9] = variable[10];
27093 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27094 variable[10] = variable[11];
27095 variable[11] = variable[8] /*nodearraylist1*/;
27096 variable[12] = TAG_Bool(( variable[11] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27097 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction438___action, LOCATE_parser, 15097); nit_exit(1);}
27098 variable[12] = variable[5] /*nodearraylist4*/;
27099 variable[13] = TAG_Bool(( variable[12] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
27100 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction438___action, LOCATE_parser, 15099); nit_exit(1);}
27101 variable[13] = variable[4] /*nodearraylist5*/;
27102 variable[14] = TAG_Bool(( variable[13] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
27103 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction438___action, LOCATE_parser, 15101); nit_exit(1);}
27104 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*listnode4*/)( variable[13] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
27105 if (UNTAG_Bool(variable[14])) { /*if*/
27106 variable[14] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode5*/)( variable[9] /*listnode5*/) /*AbstractArray::is_empty*/;
27107 if (UNTAG_Bool(variable[14])) { /*if*/
27108 variable[9] = variable[13] /*listnode4*/ /*listnode5=*/;
27109 } else { /*if*/
27110 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode5*/)( variable[9] /*listnode5*/, variable[13] /*listnode4*/) /*IndexedCollection::append*/;
27111 }
27112 }
27113 variable[15] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[11] /*pexprnode2*/, variable[12] /*tidnode3*/, variable[9] /*listnode5*/, variable[10] /*listnode6*/); /*new ACallExpr*/
27114 variable[14] = variable[15];
27115 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
27116 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
27117 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
27118 return_label908: while(false);
27119 tracehead = trace.prev;
27120 return;
27121 }
27122 void parser___ReduceAction438___init(val_t self, int* init_table) {
27123 struct trace_t trace = {NULL, NULL, 15118, LOCATE_parser___ReduceAction438___init};
27124 val_t variable[2];
27125 void **closurevariable = NULL;
27126 trace.prev = tracehead; tracehead = &trace;
27127 trace.file = LOCATE_parser;
27128 variable[0] = self;
27129 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction438].i]) return;
27130 return_label909: while(false);
27131 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction438].i] = 1;
27132 tracehead = trace.prev;
27133 return;
27134 }
27135 void parser___ReduceAction439___action(val_t self, val_t param0) {
27136 struct trace_t trace = {NULL, NULL, 15122, LOCATE_parser___ReduceAction439___action};
27137 val_t variable[13];
27138 void **closurevariable = NULL;
27139 trace.prev = tracehead; tracehead = &trace;
27140 trace.file = LOCATE_parser;
27141 variable[0] = self;
27142 variable[1] = param0;
27143 variable[3] = NIT_NULL /*null*/;
27144 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27145 variable[4] = variable[5];
27146 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27147 variable[5] = variable[6];
27148 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27149 variable[6] = variable[7];
27150 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27151 variable[7] = variable[8];
27152 variable[9] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
27153 variable[8] = variable[9];
27154 variable[9] = variable[5] /*nodearraylist1*/;
27155 variable[10] = TAG_Bool(( variable[9] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
27156 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction439___action, LOCATE_parser, 15132); nit_exit(1);}
27157 variable[10] = variable[4] /*nodearraylist2*/;
27158 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
27159 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction439___action, LOCATE_parser, 15134); nit_exit(1);}
27160 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
27161 if (UNTAG_Bool(variable[11])) { /*if*/
27162 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
27163 if (UNTAG_Bool(variable[11])) { /*if*/
27164 variable[6] = variable[10] /*listnode4*/ /*listnode5=*/;
27165 } else { /*if*/
27166 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
27167 }
27168 }
27169 variable[12] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[8] /*pexprnode2*/, variable[9] /*tidnode3*/, variable[6] /*listnode5*/, variable[7] /*listnode6*/); /*new ACallExpr*/
27170 variable[11] = variable[12];
27171 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
27172 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
27173 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
27174 return_label910: while(false);
27175 tracehead = trace.prev;
27176 return;
27177 }
27178 void parser___ReduceAction439___init(val_t self, int* init_table) {
27179 struct trace_t trace = {NULL, NULL, 15151, LOCATE_parser___ReduceAction439___init};
27180 val_t variable[2];
27181 void **closurevariable = NULL;
27182 trace.prev = tracehead; tracehead = &trace;
27183 trace.file = LOCATE_parser;
27184 variable[0] = self;
27185 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction439].i]) return;
27186 return_label911: while(false);
27187 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction439].i] = 1;
27188 tracehead = trace.prev;
27189 return;
27190 }
27191 void parser___ReduceAction440___action(val_t self, val_t param0) {
27192 struct trace_t trace = {NULL, NULL, 15155, LOCATE_parser___ReduceAction440___action};
27193 val_t variable[11];
27194 void **closurevariable = NULL;
27195 trace.prev = tracehead; tracehead = &trace;
27196 trace.file = LOCATE_parser;
27197 variable[0] = self;
27198 variable[1] = param0;
27199 variable[3] = NIT_NULL /*null*/;
27200 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27201 variable[4] = variable[5];
27202 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27203 variable[5] = variable[6];
27204 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27205 variable[6] = variable[7];
27206 variable[7] = variable[5] /*nodearraylist1*/;
27207 variable[8] = TAG_Bool(( variable[7] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
27208 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction440___action, LOCATE_parser, 15162); nit_exit(1);}
27209 variable[8] = variable[4] /*nodearraylist2*/;
27210 variable[9] = TAG_Bool(( variable[8] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
27211 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction440___action, LOCATE_parser, 15164); nit_exit(1);}
27212 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
27213 if (UNTAG_Bool(variable[9])) { /*if*/
27214 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
27215 if (UNTAG_Bool(variable[9])) { /*if*/
27216 variable[6] = variable[8] /*listnode4*/ /*listnode5=*/;
27217 } else { /*if*/
27218 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[8] /*listnode4*/) /*IndexedCollection::append*/;
27219 }
27220 }
27221 variable[10] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable[7] /*tkwsupernode3*/, variable[6] /*listnode5*/); /*new ASuperExpr*/
27222 variable[9] = variable[10];
27223 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
27224 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
27225 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
27226 return_label912: while(false);
27227 tracehead = trace.prev;
27228 return;
27229 }
27230 void parser___ReduceAction440___init(val_t self, int* init_table) {
27231 struct trace_t trace = {NULL, NULL, 15180, LOCATE_parser___ReduceAction440___init};
27232 val_t variable[2];
27233 void **closurevariable = NULL;
27234 trace.prev = tracehead; tracehead = &trace;
27235 trace.file = LOCATE_parser;
27236 variable[0] = self;
27237 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction440].i]) return;
27238 return_label913: while(false);
27239 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction440].i] = 1;
27240 tracehead = trace.prev;
27241 return;
27242 }
27243 void parser___ReduceAction441___action(val_t self, val_t param0) {
27244 struct trace_t trace = {NULL, NULL, 15184, LOCATE_parser___ReduceAction441___action};
27245 val_t variable[13];
27246 void **closurevariable = NULL;
27247 trace.prev = tracehead; tracehead = &trace;
27248 trace.file = LOCATE_parser;
27249 variable[0] = self;
27250 variable[1] = param0;
27251 variable[3] = NIT_NULL /*null*/;
27252 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27253 variable[4] = variable[5];
27254 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27255 variable[5] = variable[6];
27256 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27257 variable[6] = variable[7];
27258 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27259 variable[7] = variable[8];
27260 variable[8] = variable[6] /*nodearraylist1*/;
27261 variable[9] = TAG_Bool(( variable[8] /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
27262 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction441___action, LOCATE_parser, 15192); nit_exit(1);}
27263 variable[9] = variable[5] /*nodearraylist2*/;
27264 variable[10] = TAG_Bool(( variable[9] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
27265 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction441___action, LOCATE_parser, 15194); nit_exit(1);}
27266 variable[10] = variable[4] /*nodearraylist3*/;
27267 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
27268 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction441___action, LOCATE_parser, 15196); nit_exit(1);}
27269 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
27270 if (UNTAG_Bool(variable[11])) { /*if*/
27271 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
27272 if (UNTAG_Bool(variable[11])) { /*if*/
27273 variable[7] = variable[10] /*listnode4*/ /*listnode5=*/;
27274 } else { /*if*/
27275 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
27276 }
27277 }
27278 variable[12] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( variable[8] /*pqualifiednode2*/, variable[9] /*tkwsupernode3*/, variable[7] /*listnode5*/); /*new ASuperExpr*/
27279 variable[11] = variable[12];
27280 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
27281 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
27282 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
27283 return_label914: while(false);
27284 tracehead = trace.prev;
27285 return;
27286 }
27287 void parser___ReduceAction441___init(val_t self, int* init_table) {
27288 struct trace_t trace = {NULL, NULL, 15212, LOCATE_parser___ReduceAction441___init};
27289 val_t variable[2];
27290 void **closurevariable = NULL;
27291 trace.prev = tracehead; tracehead = &trace;
27292 trace.file = LOCATE_parser;
27293 variable[0] = self;
27294 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction441].i]) return;
27295 return_label915: while(false);
27296 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction441].i] = 1;
27297 tracehead = trace.prev;
27298 return;
27299 }
27300 void parser___ReduceAction442___action(val_t self, val_t param0) {
27301 struct trace_t trace = {NULL, NULL, 15216, LOCATE_parser___ReduceAction442___action};
27302 val_t variable[15];
27303 void **closurevariable = NULL;
27304 trace.prev = tracehead; tracehead = &trace;
27305 trace.file = LOCATE_parser;
27306 variable[0] = self;
27307 variable[1] = param0;
27308 variable[3] = NIT_NULL /*null*/;
27309 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27310 variable[4] = variable[5];
27311 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27312 variable[5] = variable[6];
27313 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27314 variable[6] = variable[7];
27315 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27316 variable[7] = variable[8];
27317 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27318 variable[8] = variable[9];
27319 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27320 variable[9] = variable[10];
27321 variable[10] = variable[8] /*nodearraylist1*/;
27322 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27323 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction442___action, LOCATE_parser, 15226); nit_exit(1);}
27324 variable[11] = variable[5] /*nodearraylist4*/;
27325 variable[12] = TAG_Bool(( variable[11] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
27326 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction442___action, LOCATE_parser, 15228); nit_exit(1);}
27327 variable[12] = variable[4] /*nodearraylist5*/;
27328 variable[13] = TAG_Bool(( variable[12] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
27329 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction442___action, LOCATE_parser, 15230); nit_exit(1);}
27330 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode4*/)( variable[12] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
27331 if (UNTAG_Bool(variable[13])) { /*if*/
27332 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode5*/)( variable[9] /*listnode5*/) /*AbstractArray::is_empty*/;
27333 if (UNTAG_Bool(variable[13])) { /*if*/
27334 variable[9] = variable[12] /*listnode4*/ /*listnode5=*/;
27335 } else { /*if*/
27336 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode5*/)( variable[9] /*listnode5*/, variable[12] /*listnode4*/) /*IndexedCollection::append*/;
27337 }
27338 }
27339 variable[14] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[10] /*pexprnode2*/, variable[11] /*tkwinitnode3*/, variable[9] /*listnode5*/); /*new AInitExpr*/
27340 variable[13] = variable[14];
27341 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
27342 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
27343 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
27344 return_label916: while(false);
27345 tracehead = trace.prev;
27346 return;
27347 }
27348 void parser___ReduceAction442___init(val_t self, int* init_table) {
27349 struct trace_t trace = {NULL, NULL, 15246, LOCATE_parser___ReduceAction442___init};
27350 val_t variable[2];
27351 void **closurevariable = NULL;
27352 trace.prev = tracehead; tracehead = &trace;
27353 trace.file = LOCATE_parser;
27354 variable[0] = self;
27355 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction442].i]) return;
27356 return_label917: while(false);
27357 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction442].i] = 1;
27358 tracehead = trace.prev;
27359 return;
27360 }
27361 void parser___ReduceAction443___action(val_t self, val_t param0) {
27362 struct trace_t trace = {NULL, NULL, 15250, LOCATE_parser___ReduceAction443___action};
27363 val_t variable[12];
27364 void **closurevariable = NULL;
27365 trace.prev = tracehead; tracehead = &trace;
27366 trace.file = LOCATE_parser;
27367 variable[0] = self;
27368 variable[1] = param0;
27369 variable[3] = NIT_NULL /*null*/;
27370 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27371 variable[4] = variable[5];
27372 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27373 variable[5] = variable[6];
27374 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27375 variable[6] = variable[7];
27376 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
27377 variable[7] = variable[8];
27378 variable[8] = variable[5] /*nodearraylist1*/;
27379 variable[9] = TAG_Bool(( variable[8] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
27380 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction443___action, LOCATE_parser, 15259); nit_exit(1);}
27381 variable[9] = variable[4] /*nodearraylist2*/;
27382 variable[10] = TAG_Bool(( variable[9] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
27383 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction443___action, LOCATE_parser, 15261); nit_exit(1);}
27384 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[9] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
27385 if (UNTAG_Bool(variable[10])) { /*if*/
27386 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
27387 if (UNTAG_Bool(variable[10])) { /*if*/
27388 variable[6] = variable[9] /*listnode4*/ /*listnode5=*/;
27389 } else { /*if*/
27390 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[9] /*listnode4*/) /*IndexedCollection::append*/;
27391 }
27392 }
27393 variable[11] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[7] /*pexprnode2*/, variable[8] /*tkwinitnode3*/, variable[6] /*listnode5*/); /*new AInitExpr*/
27394 variable[10] = variable[11];
27395 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
27396 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
27397 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
27398 return_label918: while(false);
27399 tracehead = trace.prev;
27400 return;
27401 }
27402 void parser___ReduceAction443___init(val_t self, int* init_table) {
27403 struct trace_t trace = {NULL, NULL, 15277, LOCATE_parser___ReduceAction443___init};
27404 val_t variable[2];
27405 void **closurevariable = NULL;
27406 trace.prev = tracehead; tracehead = &trace;
27407 trace.file = LOCATE_parser;
27408 variable[0] = self;
27409 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction443].i]) return;
27410 return_label919: while(false);
27411 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction443].i] = 1;
27412 tracehead = trace.prev;
27413 return;
27414 }
27415 void parser___ReduceAction444___action(val_t self, val_t param0) {
27416 struct trace_t trace = {NULL, NULL, 15281, LOCATE_parser___ReduceAction444___action};
27417 val_t variable[18];
27418 void **closurevariable = NULL;
27419 trace.prev = tracehead; tracehead = &trace;
27420 trace.file = LOCATE_parser;
27421 variable[0] = self;
27422 variable[1] = param0;
27423 variable[3] = NIT_NULL /*null*/;
27424 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27425 variable[4] = variable[5];
27426 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27427 variable[5] = variable[6];
27428 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27429 variable[6] = variable[7];
27430 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27431 variable[7] = variable[8];
27432 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27433 variable[8] = variable[9];
27434 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27435 variable[9] = variable[10];
27436 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27437 variable[10] = variable[11];
27438 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27439 variable[11] = variable[12];
27440 variable[12] = variable[10] /*nodearraylist1*/;
27441 variable[13] = TAG_Bool(( variable[12] /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
27442 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction444___action, LOCATE_parser, 15293); nit_exit(1);}
27443 variable[13] = variable[8] /*nodearraylist3*/;
27444 variable[14] = TAG_Bool(( variable[13] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[13] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
27445 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction444___action, LOCATE_parser, 15295); nit_exit(1);}
27446 variable[14] = variable[5] /*nodearraylist6*/;
27447 variable[15] = TAG_Bool(( variable[14] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
27448 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction444___action, LOCATE_parser, 15297); nit_exit(1);}
27449 variable[15] = variable[4] /*nodearraylist7*/;
27450 variable[16] = TAG_Bool(( variable[15] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
27451 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction444___action, LOCATE_parser, 15299); nit_exit(1);}
27452 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*listnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*listnode5*/)( variable[15] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
27453 if (UNTAG_Bool(variable[16])) { /*if*/
27454 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode6*/)( variable[11] /*listnode6*/) /*AbstractArray::is_empty*/;
27455 if (UNTAG_Bool(variable[16])) { /*if*/
27456 variable[11] = variable[15] /*listnode5*/ /*listnode6=*/;
27457 } else { /*if*/
27458 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode6*/)( variable[11] /*listnode6*/, variable[15] /*listnode5*/) /*IndexedCollection::append*/;
27459 }
27460 }
27461 variable[17] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable[12] /*tkwnewnode2*/, variable[13] /*ptypenode3*/, variable[14] /*tidnode4*/, variable[11] /*listnode6*/); /*new ANewExpr*/
27462 variable[16] = variable[17];
27463 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
27464 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
27465 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
27466 return_label920: while(false);
27467 tracehead = trace.prev;
27468 return;
27469 }
27470 void parser___ReduceAction444___init(val_t self, int* init_table) {
27471 struct trace_t trace = {NULL, NULL, 15316, LOCATE_parser___ReduceAction444___init};
27472 val_t variable[2];
27473 void **closurevariable = NULL;
27474 trace.prev = tracehead; tracehead = &trace;
27475 trace.file = LOCATE_parser;
27476 variable[0] = self;
27477 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction444].i]) return;
27478 return_label921: while(false);
27479 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction444].i] = 1;
27480 tracehead = trace.prev;
27481 return;
27482 }
27483 void parser___ReduceAction445___action(val_t self, val_t param0) {
27484 struct trace_t trace = {NULL, NULL, 15320, LOCATE_parser___ReduceAction445___action};
27485 val_t variable[8];
27486 void **closurevariable = NULL;
27487 trace.prev = tracehead; tracehead = &trace;
27488 trace.file = LOCATE_parser;
27489 variable[0] = self;
27490 variable[1] = param0;
27491 variable[3] = NIT_NULL /*null*/;
27492 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27493 variable[4] = variable[5];
27494 variable[5] = variable[4] /*nodearraylist1*/;
27495 variable[6] = TAG_Bool(( variable[5] /*tkwselfnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwselfnode2*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/;
27496 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction445___action, LOCATE_parser, 15325); nit_exit(1);}
27497 variable[7] = NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr( variable[5] /*tkwselfnode2*/); /*new ASelfExpr*/
27498 variable[6] = variable[7];
27499 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
27500 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
27501 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
27502 return_label922: while(false);
27503 tracehead = trace.prev;
27504 return;
27505 }
27506 void parser___ReduceAction445___init(val_t self, int* init_table) {
27507 struct trace_t trace = {NULL, NULL, 15332, LOCATE_parser___ReduceAction445___init};
27508 val_t variable[2];
27509 void **closurevariable = NULL;
27510 trace.prev = tracehead; tracehead = &trace;
27511 trace.file = LOCATE_parser;
27512 variable[0] = self;
27513 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction445].i]) return;
27514 return_label923: while(false);
27515 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction445].i] = 1;
27516 tracehead = trace.prev;
27517 return;
27518 }
27519 void parser___ReduceAction446___action(val_t self, val_t param0) {
27520 struct trace_t trace = {NULL, NULL, 15336, LOCATE_parser___ReduceAction446___action};
27521 val_t variable[8];
27522 void **closurevariable = NULL;
27523 trace.prev = tracehead; tracehead = &trace;
27524 trace.file = LOCATE_parser;
27525 variable[0] = self;
27526 variable[1] = param0;
27527 variable[3] = NIT_NULL /*null*/;
27528 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27529 variable[4] = variable[5];
27530 variable[5] = variable[4] /*nodearraylist1*/;
27531 variable[6] = TAG_Bool(( variable[5] /*tkwtruenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwtruenode2*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/;
27532 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction446___action, LOCATE_parser, 15341); nit_exit(1);}
27533 variable[7] = NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr( variable[5] /*tkwtruenode2*/); /*new ATrueExpr*/
27534 variable[6] = variable[7];
27535 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
27536 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
27537 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
27538 return_label924: while(false);
27539 tracehead = trace.prev;
27540 return;
27541 }
27542 void parser___ReduceAction446___init(val_t self, int* init_table) {
27543 struct trace_t trace = {NULL, NULL, 15348, LOCATE_parser___ReduceAction446___init};
27544 val_t variable[2];
27545 void **closurevariable = NULL;
27546 trace.prev = tracehead; tracehead = &trace;
27547 trace.file = LOCATE_parser;
27548 variable[0] = self;
27549 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction446].i]) return;
27550 return_label925: while(false);
27551 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction446].i] = 1;
27552 tracehead = trace.prev;
27553 return;
27554 }
27555 void parser___ReduceAction447___action(val_t self, val_t param0) {
27556 struct trace_t trace = {NULL, NULL, 15352, LOCATE_parser___ReduceAction447___action};
27557 val_t variable[8];
27558 void **closurevariable = NULL;
27559 trace.prev = tracehead; tracehead = &trace;
27560 trace.file = LOCATE_parser;
27561 variable[0] = self;
27562 variable[1] = param0;
27563 variable[3] = NIT_NULL /*null*/;
27564 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27565 variable[4] = variable[5];
27566 variable[5] = variable[4] /*nodearraylist1*/;
27567 variable[6] = TAG_Bool(( variable[5] /*tkwfalsenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwfalsenode2*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/;
27568 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction447___action, LOCATE_parser, 15357); nit_exit(1);}
27569 variable[7] = NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr( variable[5] /*tkwfalsenode2*/); /*new AFalseExpr*/
27570 variable[6] = variable[7];
27571 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
27572 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
27573 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
27574 return_label926: while(false);
27575 tracehead = trace.prev;
27576 return;
27577 }
27578 void parser___ReduceAction447___init(val_t self, int* init_table) {
27579 struct trace_t trace = {NULL, NULL, 15364, LOCATE_parser___ReduceAction447___init};
27580 val_t variable[2];
27581 void **closurevariable = NULL;
27582 trace.prev = tracehead; tracehead = &trace;
27583 trace.file = LOCATE_parser;
27584 variable[0] = self;
27585 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction447].i]) return;
27586 return_label927: while(false);
27587 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction447].i] = 1;
27588 tracehead = trace.prev;
27589 return;
27590 }
27591 void parser___ReduceAction448___action(val_t self, val_t param0) {
27592 struct trace_t trace = {NULL, NULL, 15368, LOCATE_parser___ReduceAction448___action};
27593 val_t variable[8];
27594 void **closurevariable = NULL;
27595 trace.prev = tracehead; tracehead = &trace;
27596 trace.file = LOCATE_parser;
27597 variable[0] = self;
27598 variable[1] = param0;
27599 variable[3] = NIT_NULL /*null*/;
27600 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27601 variable[4] = variable[5];
27602 variable[5] = variable[4] /*nodearraylist1*/;
27603 variable[6] = TAG_Bool(( variable[5] /*tkwnullnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwnullnode2*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
27604 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction448___action, LOCATE_parser, 15373); nit_exit(1);}
27605 variable[7] = NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr( variable[5] /*tkwnullnode2*/); /*new ANullExpr*/
27606 variable[6] = variable[7];
27607 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
27608 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
27609 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
27610 return_label928: while(false);
27611 tracehead = trace.prev;
27612 return;
27613 }
27614 void parser___ReduceAction448___init(val_t self, int* init_table) {
27615 struct trace_t trace = {NULL, NULL, 15380, LOCATE_parser___ReduceAction448___init};
27616 val_t variable[2];
27617 void **closurevariable = NULL;
27618 trace.prev = tracehead; tracehead = &trace;
27619 trace.file = LOCATE_parser;
27620 variable[0] = self;
27621 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction448].i]) return;
27622 return_label929: while(false);
27623 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction448].i] = 1;
27624 tracehead = trace.prev;
27625 return;
27626 }
27627 void parser___ReduceAction449___action(val_t self, val_t param0) {
27628 struct trace_t trace = {NULL, NULL, 15384, LOCATE_parser___ReduceAction449___action};
27629 val_t variable[8];
27630 void **closurevariable = NULL;
27631 trace.prev = tracehead; tracehead = &trace;
27632 trace.file = LOCATE_parser;
27633 variable[0] = self;
27634 variable[1] = param0;
27635 variable[3] = NIT_NULL /*null*/;
27636 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27637 variable[4] = variable[5];
27638 variable[5] = variable[4] /*nodearraylist1*/;
27639 variable[6] = TAG_Bool(( variable[5] /*tnumbernode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tnumbernode2*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/;
27640 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction449___action, LOCATE_parser, 15389); nit_exit(1);}
27641 variable[7] = NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr( variable[5] /*tnumbernode2*/); /*new AIntExpr*/
27642 variable[6] = variable[7];
27643 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
27644 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
27645 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
27646 return_label930: while(false);
27647 tracehead = trace.prev;
27648 return;
27649 }
27650 void parser___ReduceAction449___init(val_t self, int* init_table) {
27651 struct trace_t trace = {NULL, NULL, 15396, LOCATE_parser___ReduceAction449___init};
27652 val_t variable[2];
27653 void **closurevariable = NULL;
27654 trace.prev = tracehead; tracehead = &trace;
27655 trace.file = LOCATE_parser;
27656 variable[0] = self;
27657 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction449].i]) return;
27658 return_label931: while(false);
27659 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction449].i] = 1;
27660 tracehead = trace.prev;
27661 return;
27662 }
27663 void parser___ReduceAction450___action(val_t self, val_t param0) {
27664 struct trace_t trace = {NULL, NULL, 15400, LOCATE_parser___ReduceAction450___action};
27665 val_t variable[8];
27666 void **closurevariable = NULL;
27667 trace.prev = tracehead; tracehead = &trace;
27668 trace.file = LOCATE_parser;
27669 variable[0] = self;
27670 variable[1] = param0;
27671 variable[3] = NIT_NULL /*null*/;
27672 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27673 variable[4] = variable[5];
27674 variable[5] = variable[4] /*nodearraylist1*/;
27675 variable[6] = TAG_Bool(( variable[5] /*tfloatnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tfloatnode2*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/;
27676 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction450___action, LOCATE_parser, 15405); nit_exit(1);}
27677 variable[7] = NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr( variable[5] /*tfloatnode2*/); /*new AFloatExpr*/
27678 variable[6] = variable[7];
27679 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
27680 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
27681 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
27682 return_label932: while(false);
27683 tracehead = trace.prev;
27684 return;
27685 }
27686 void parser___ReduceAction450___init(val_t self, int* init_table) {
27687 struct trace_t trace = {NULL, NULL, 15412, LOCATE_parser___ReduceAction450___init};
27688 val_t variable[2];
27689 void **closurevariable = NULL;
27690 trace.prev = tracehead; tracehead = &trace;
27691 trace.file = LOCATE_parser;
27692 variable[0] = self;
27693 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction450].i]) return;
27694 return_label933: while(false);
27695 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction450].i] = 1;
27696 tracehead = trace.prev;
27697 return;
27698 }
27699 void parser___ReduceAction451___action(val_t self, val_t param0) {
27700 struct trace_t trace = {NULL, NULL, 15416, LOCATE_parser___ReduceAction451___action};
27701 val_t variable[8];
27702 void **closurevariable = NULL;
27703 trace.prev = tracehead; tracehead = &trace;
27704 trace.file = LOCATE_parser;
27705 variable[0] = self;
27706 variable[1] = param0;
27707 variable[3] = NIT_NULL /*null*/;
27708 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27709 variable[4] = variable[5];
27710 variable[5] = variable[4] /*nodearraylist1*/;
27711 variable[6] = TAG_Bool(( variable[5] /*tcharnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tcharnode2*/, COLOR_TChar, ID_TChar)) /*cast TChar*/;
27712 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction451___action, LOCATE_parser, 15421); nit_exit(1);}
27713 variable[7] = NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr( variable[5] /*tcharnode2*/); /*new ACharExpr*/
27714 variable[6] = variable[7];
27715 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
27716 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
27717 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
27718 return_label934: while(false);
27719 tracehead = trace.prev;
27720 return;
27721 }
27722 void parser___ReduceAction451___init(val_t self, int* init_table) {
27723 struct trace_t trace = {NULL, NULL, 15428, LOCATE_parser___ReduceAction451___init};
27724 val_t variable[2];
27725 void **closurevariable = NULL;
27726 trace.prev = tracehead; tracehead = &trace;
27727 trace.file = LOCATE_parser;
27728 variable[0] = self;
27729 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction451].i]) return;
27730 return_label935: while(false);
27731 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction451].i] = 1;
27732 tracehead = trace.prev;
27733 return;
27734 }
27735 void parser___ReduceAction452___action(val_t self, val_t param0) {
27736 struct trace_t trace = {NULL, NULL, 15432, LOCATE_parser___ReduceAction452___action};
27737 val_t variable[8];
27738 void **closurevariable = NULL;
27739 trace.prev = tracehead; tracehead = &trace;
27740 trace.file = LOCATE_parser;
27741 variable[0] = self;
27742 variable[1] = param0;
27743 variable[3] = NIT_NULL /*null*/;
27744 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27745 variable[4] = variable[5];
27746 variable[5] = variable[4] /*nodearraylist1*/;
27747 variable[6] = TAG_Bool(( variable[5] /*tstringnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tstringnode2*/, COLOR_TString, ID_TString)) /*cast TString*/;
27748 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction452___action, LOCATE_parser, 15437); nit_exit(1);}
27749 variable[7] = NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr( variable[5] /*tstringnode2*/); /*new AStringExpr*/
27750 variable[6] = variable[7];
27751 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
27752 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
27753 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
27754 return_label936: while(false);
27755 tracehead = trace.prev;
27756 return;
27757 }
27758 void parser___ReduceAction452___init(val_t self, int* init_table) {
27759 struct trace_t trace = {NULL, NULL, 15444, LOCATE_parser___ReduceAction452___init};
27760 val_t variable[2];
27761 void **closurevariable = NULL;
27762 trace.prev = tracehead; tracehead = &trace;
27763 trace.file = LOCATE_parser;
27764 variable[0] = self;
27765 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction452].i]) return;
27766 return_label937: while(false);
27767 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction452].i] = 1;
27768 tracehead = trace.prev;
27769 return;
27770 }
27771 void parser___ReduceAction453___action(val_t self, val_t param0) {
27772 struct trace_t trace = {NULL, NULL, 15448, LOCATE_parser___ReduceAction453___action};
27773 val_t variable[7];
27774 void **closurevariable = NULL;
27775 trace.prev = tracehead; tracehead = &trace;
27776 trace.file = LOCATE_parser;
27777 variable[0] = self;
27778 variable[1] = param0;
27779 variable[3] = NIT_NULL /*null*/;
27780 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27781 variable[4] = variable[5];
27782 variable[5] = variable[4] /*nodearraylist1*/;
27783 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27784 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction453___action, LOCATE_parser, 15453); nit_exit(1);}
27785 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
27786 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
27787 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
27788 return_label938: while(false);
27789 tracehead = trace.prev;
27790 return;
27791 }
27792 void parser___ReduceAction453___init(val_t self, int* init_table) {
27793 struct trace_t trace = {NULL, NULL, 15457, LOCATE_parser___ReduceAction453___init};
27794 val_t variable[2];
27795 void **closurevariable = NULL;
27796 trace.prev = tracehead; tracehead = &trace;
27797 trace.file = LOCATE_parser;
27798 variable[0] = self;
27799 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction453].i]) return;
27800 return_label939: while(false);
27801 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction453].i] = 1;
27802 tracehead = trace.prev;
27803 return;
27804 }
27805 void parser___ReduceAction454___action(val_t self, val_t param0) {
27806 struct trace_t trace = {NULL, NULL, 15461, LOCATE_parser___ReduceAction454___action};
27807 val_t variable[9];
27808 void **closurevariable = NULL;
27809 trace.prev = tracehead; tracehead = &trace;
27810 trace.file = LOCATE_parser;
27811 variable[0] = self;
27812 variable[1] = param0;
27813 variable[3] = NIT_NULL /*null*/;
27814 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27815 variable[4] = variable[5];
27816 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27817 variable[5] = variable[6];
27818 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27819 variable[6] = variable[7];
27820 variable[7] = variable[5] /*nodearraylist2*/;
27821 variable[8] = TAG_Bool(( variable[7] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27822 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction454___action, LOCATE_parser, 15468); nit_exit(1);}
27823 variable[3] = variable[7] /*pexprnode1*/ /*node_list=*/;
27824 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
27825 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
27826 return_label940: while(false);
27827 tracehead = trace.prev;
27828 return;
27829 }
27830 void parser___ReduceAction454___init(val_t self, int* init_table) {
27831 struct trace_t trace = {NULL, NULL, 15472, LOCATE_parser___ReduceAction454___init};
27832 val_t variable[2];
27833 void **closurevariable = NULL;
27834 trace.prev = tracehead; tracehead = &trace;
27835 trace.file = LOCATE_parser;
27836 variable[0] = self;
27837 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction454].i]) return;
27838 return_label941: while(false);
27839 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction454].i] = 1;
27840 tracehead = trace.prev;
27841 return;
27842 }
27843 void parser___ReduceAction455___action(val_t self, val_t param0) {
27844 struct trace_t trace = {NULL, NULL, 15476, LOCATE_parser___ReduceAction455___action};
27845 val_t variable[19];
27846 void **closurevariable = NULL;
27847 trace.prev = tracehead; tracehead = &trace;
27848 trace.file = LOCATE_parser;
27849 variable[0] = self;
27850 variable[1] = param0;
27851 variable[3] = NIT_NULL /*null*/;
27852 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27853 variable[4] = variable[5];
27854 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27855 variable[5] = variable[6];
27856 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27857 variable[6] = variable[7];
27858 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27859 variable[7] = variable[8];
27860 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27861 variable[8] = variable[9];
27862 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27863 variable[9] = variable[10];
27864 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27865 variable[10] = variable[11];
27866 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27867 variable[11] = variable[12];
27868 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27869 variable[12] = variable[13];
27870 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27871 variable[13] = variable[14];
27872 variable[14] = variable[13] /*nodearraylist1*/;
27873 variable[15] = TAG_Bool(( variable[14] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27874 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction455___action, LOCATE_parser, 15490); nit_exit(1);}
27875 variable[15] = variable[10] /*nodearraylist4*/;
27876 variable[16] = TAG_Bool(( variable[15] /*tkwasnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwasnode3*/, COLOR_TKwas, ID_TKwas)) /*cast TKwas*/;
27877 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction455___action, LOCATE_parser, 15492); nit_exit(1);}
27878 variable[16] = variable[6] /*nodearraylist8*/;
27879 variable[17] = TAG_Bool(( variable[16] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[16] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
27880 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction455___action, LOCATE_parser, 15494); nit_exit(1);}
27881 variable[18] = NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr( variable[14] /*pexprnode2*/, variable[15] /*tkwasnode3*/, variable[16] /*ptypenode4*/); /*new AAsCastExpr*/
27882 variable[17] = variable[18];
27883 variable[3] = variable[17] /*pexprnode1*/ /*node_list=*/;
27884 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
27885 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
27886 return_label942: while(false);
27887 tracehead = trace.prev;
27888 return;
27889 }
27890 void parser___ReduceAction455___init(val_t self, int* init_table) {
27891 struct trace_t trace = {NULL, NULL, 15503, LOCATE_parser___ReduceAction455___init};
27892 val_t variable[2];
27893 void **closurevariable = NULL;
27894 trace.prev = tracehead; tracehead = &trace;
27895 trace.file = LOCATE_parser;
27896 variable[0] = self;
27897 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction455].i]) return;
27898 return_label943: while(false);
27899 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction455].i] = 1;
27900 tracehead = trace.prev;
27901 return;
27902 }
27903 void parser___ReduceAction456___action(val_t self, val_t param0) {
27904 struct trace_t trace = {NULL, NULL, 15507, LOCATE_parser___ReduceAction456___action};
27905 val_t variable[7];
27906 void **closurevariable = NULL;
27907 trace.prev = tracehead; tracehead = &trace;
27908 trace.file = LOCATE_parser;
27909 variable[0] = self;
27910 variable[1] = param0;
27911 variable[3] = NIT_NULL /*null*/;
27912 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27913 variable[4] = variable[5];
27914 variable[5] = variable[4] /*nodearraylist1*/;
27915 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27916 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction456___action, LOCATE_parser, 15512); nit_exit(1);}
27917 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
27918 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
27919 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
27920 return_label944: while(false);
27921 tracehead = trace.prev;
27922 return;
27923 }
27924 void parser___ReduceAction456___init(val_t self, int* init_table) {
27925 struct trace_t trace = {NULL, NULL, 15516, LOCATE_parser___ReduceAction456___init};
27926 val_t variable[2];
27927 void **closurevariable = NULL;
27928 trace.prev = tracehead; tracehead = &trace;
27929 trace.file = LOCATE_parser;
27930 variable[0] = self;
27931 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction456].i]) return;
27932 return_label945: while(false);
27933 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction456].i] = 1;
27934 tracehead = trace.prev;
27935 return;
27936 }
27937 void parser___ReduceAction457___action(val_t self, val_t param0) {
27938 struct trace_t trace = {NULL, NULL, 15520, LOCATE_parser___ReduceAction457___action};
27939 val_t variable[12];
27940 void **closurevariable = NULL;
27941 trace.prev = tracehead; tracehead = &trace;
27942 trace.file = LOCATE_parser;
27943 variable[0] = self;
27944 variable[1] = param0;
27945 variable[3] = NIT_NULL /*null*/;
27946 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27947 variable[4] = variable[5];
27948 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27949 variable[5] = variable[6];
27950 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27951 variable[6] = variable[7];
27952 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27953 variable[7] = variable[8];
27954 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27955 variable[8] = variable[9];
27956 variable[9] = variable[6] /*nodearraylist2*/;
27957 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27958 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction457___action, LOCATE_parser, 15529); nit_exit(1);}
27959 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable[9] /*pexprnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[9] /*pexprnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[9] /*pexprnode2*/)( variable[9] /*pexprnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
27960 if (UNTAG_Bool(variable[10])) { /*if*/
27961 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode3*/)( variable[8] /*listnode3*/, variable[9] /*pexprnode2*/) /*AbstractArray::add*/;
27962 }
27963 variable[11] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[8] /*listnode3*/); /*new ABlockExpr*/
27964 variable[10] = variable[11];
27965 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
27966 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
27967 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
27968 return_label946: while(false);
27969 tracehead = trace.prev;
27970 return;
27971 }
27972 void parser___ReduceAction457___init(val_t self, int* init_table) {
27973 struct trace_t trace = {NULL, NULL, 15539, LOCATE_parser___ReduceAction457___init};
27974 val_t variable[2];
27975 void **closurevariable = NULL;
27976 trace.prev = tracehead; tracehead = &trace;
27977 trace.file = LOCATE_parser;
27978 variable[0] = self;
27979 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction457].i]) return;
27980 return_label947: while(false);
27981 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction457].i] = 1;
27982 tracehead = trace.prev;
27983 return;
27984 }
27985 void parser___ReduceAction458___action(val_t self, val_t param0) {
27986 struct trace_t trace = {NULL, NULL, 15543, LOCATE_parser___ReduceAction458___action};
27987 val_t variable[14];
27988 void **closurevariable = NULL;
27989 trace.prev = tracehead; tracehead = &trace;
27990 trace.file = LOCATE_parser;
27991 variable[0] = self;
27992 variable[1] = param0;
27993 variable[3] = NIT_NULL /*null*/;
27994 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27995 variable[4] = variable[5];
27996 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27997 variable[5] = variable[6];
27998 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27999 variable[6] = variable[7];
28000 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28001 variable[7] = variable[8];
28002 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28003 variable[8] = variable[9];
28004 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28005 variable[9] = variable[10];
28006 variable[10] = variable[7] /*nodearraylist2*/;
28007 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28008 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction458___action, LOCATE_parser, 15553); nit_exit(1);}
28009 variable[11] = variable[6] /*nodearraylist3*/;
28010 variable[12] = TAG_Bool(( variable[11] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
28011 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction458___action, LOCATE_parser, 15555); nit_exit(1);}
28012 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable[10] /*pexprnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*pexprnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*pexprnode2*/)( variable[10] /*pexprnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
28013 if (UNTAG_Bool(variable[12])) { /*if*/
28014 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, variable[10] /*pexprnode2*/) /*AbstractArray::add*/;
28015 }
28016 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode3*/)( variable[11] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
28017 if (UNTAG_Bool(variable[12])) { /*if*/
28018 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode4*/)( variable[9] /*listnode4*/) /*AbstractArray::is_empty*/;
28019 if (UNTAG_Bool(variable[12])) { /*if*/
28020 variable[9] = variable[11] /*listnode3*/ /*listnode4=*/;
28021 } else { /*if*/
28022 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, variable[11] /*listnode3*/) /*IndexedCollection::append*/;
28023 }
28024 }
28025 variable[13] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[9] /*listnode4*/); /*new ABlockExpr*/
28026 variable[12] = variable[13];
28027 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
28028 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
28029 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
28030 return_label948: while(false);
28031 tracehead = trace.prev;
28032 return;
28033 }
28034 void parser___ReduceAction458___init(val_t self, int* init_table) {
28035 struct trace_t trace = {NULL, NULL, 15572, LOCATE_parser___ReduceAction458___init};
28036 val_t variable[2];
28037 void **closurevariable = NULL;
28038 trace.prev = tracehead; tracehead = &trace;
28039 trace.file = LOCATE_parser;
28040 variable[0] = self;
28041 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction458].i]) return;
28042 return_label949: while(false);
28043 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction458].i] = 1;
28044 tracehead = trace.prev;
28045 return;
28046 }
28047 void parser___ReduceAction459___action(val_t self, val_t param0) {
28048 struct trace_t trace = {NULL, NULL, 15576, LOCATE_parser___ReduceAction459___action};
28049 val_t variable[9];
28050 void **closurevariable = NULL;
28051 trace.prev = tracehead; tracehead = &trace;
28052 trace.file = LOCATE_parser;
28053 variable[0] = self;
28054 variable[1] = param0;
28055 variable[3] = NIT_NULL /*null*/;
28056 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28057 variable[4] = variable[5];
28058 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28059 variable[5] = variable[6];
28060 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28061 variable[6] = variable[7];
28062 variable[8] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[6] /*listnode2*/); /*new ABlockExpr*/
28063 variable[7] = variable[8];
28064 variable[3] = variable[7] /*pexprnode1*/ /*node_list=*/;
28065 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
28066 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
28067 return_label950: while(false);
28068 tracehead = trace.prev;
28069 return;
28070 }
28071 void parser___ReduceAction459___init(val_t self, int* init_table) {
28072 struct trace_t trace = {NULL, NULL, 15588, LOCATE_parser___ReduceAction459___init};
28073 val_t variable[2];
28074 void **closurevariable = NULL;
28075 trace.prev = tracehead; tracehead = &trace;
28076 trace.file = LOCATE_parser;
28077 variable[0] = self;
28078 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction459].i]) return;
28079 return_label951: while(false);
28080 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction459].i] = 1;
28081 tracehead = trace.prev;
28082 return;
28083 }
28084 void parser___ReduceAction460___action(val_t self, val_t param0) {
28085 struct trace_t trace = {NULL, NULL, 15592, LOCATE_parser___ReduceAction460___action};
28086 val_t variable[8];
28087 void **closurevariable = NULL;
28088 trace.prev = tracehead; tracehead = &trace;
28089 trace.file = LOCATE_parser;
28090 variable[0] = self;
28091 variable[1] = param0;
28092 variable[3] = NIT_NULL /*null*/;
28093 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28094 variable[4] = variable[5];
28095 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28096 variable[5] = variable[6];
28097 variable[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[5] /*listnode2*/); /*new ABlockExpr*/
28098 variable[6] = variable[7];
28099 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
28100 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
28101 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
28102 return_label952: while(false);
28103 tracehead = trace.prev;
28104 return;
28105 }
28106 void parser___ReduceAction460___init(val_t self, int* init_table) {
28107 struct trace_t trace = {NULL, NULL, 15603, LOCATE_parser___ReduceAction460___init};
28108 val_t variable[2];
28109 void **closurevariable = NULL;
28110 trace.prev = tracehead; tracehead = &trace;
28111 trace.file = LOCATE_parser;
28112 variable[0] = self;
28113 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction460].i]) return;
28114 return_label953: while(false);
28115 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction460].i] = 1;
28116 tracehead = trace.prev;
28117 return;
28118 }
28119 void parser___ReduceAction461___action(val_t self, val_t param0) {
28120 struct trace_t trace = {NULL, NULL, 15607, LOCATE_parser___ReduceAction461___action};
28121 val_t variable[7];
28122 void **closurevariable = NULL;
28123 trace.prev = tracehead; tracehead = &trace;
28124 trace.file = LOCATE_parser;
28125 variable[0] = self;
28126 variable[1] = param0;
28127 variable[3] = NIT_NULL /*null*/;
28128 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28129 variable[4] = variable[5];
28130 variable[5] = variable[4] /*nodearraylist1*/;
28131 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28132 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction461___action, LOCATE_parser, 15612); nit_exit(1);}
28133 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
28134 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(85)) /*Parser::go_to*/;
28135 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
28136 return_label954: while(false);
28137 tracehead = trace.prev;
28138 return;
28139 }
28140 void parser___ReduceAction461___init(val_t self, int* init_table) {
28141 struct trace_t trace = {NULL, NULL, 15616, LOCATE_parser___ReduceAction461___init};
28142 val_t variable[2];
28143 void **closurevariable = NULL;
28144 trace.prev = tracehead; tracehead = &trace;
28145 trace.file = LOCATE_parser;
28146 variable[0] = self;
28147 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction461].i]) return;
28148 return_label955: while(false);
28149 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction461].i] = 1;
28150 tracehead = trace.prev;
28151 return;
28152 }
28153 void parser___ReduceAction462___action(val_t self, val_t param0) {
28154 struct trace_t trace = {NULL, NULL, 15620, LOCATE_parser___ReduceAction462___action};
28155 val_t variable[7];
28156 void **closurevariable = NULL;
28157 trace.prev = tracehead; tracehead = &trace;
28158 trace.file = LOCATE_parser;
28159 variable[0] = self;
28160 variable[1] = param0;
28161 variable[3] = NIT_NULL /*null*/;
28162 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28163 variable[4] = variable[5];
28164 variable[5] = variable[4] /*nodearraylist1*/;
28165 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28166 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction462___action, LOCATE_parser, 15625); nit_exit(1);}
28167 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
28168 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(85)) /*Parser::go_to*/;
28169 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
28170 return_label956: while(false);
28171 tracehead = trace.prev;
28172 return;
28173 }
28174 void parser___ReduceAction462___init(val_t self, int* init_table) {
28175 struct trace_t trace = {NULL, NULL, 15629, LOCATE_parser___ReduceAction462___init};
28176 val_t variable[2];
28177 void **closurevariable = NULL;
28178 trace.prev = tracehead; tracehead = &trace;
28179 trace.file = LOCATE_parser;
28180 variable[0] = self;
28181 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction462].i]) return;
28182 return_label957: while(false);
28183 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction462].i] = 1;
28184 tracehead = trace.prev;
28185 return;
28186 }
28187 void parser___ReduceAction463___action(val_t self, val_t param0) {
28188 struct trace_t trace = {NULL, NULL, 15633, LOCATE_parser___ReduceAction463___action};
28189 val_t variable[8];
28190 void **closurevariable = NULL;
28191 trace.prev = tracehead; tracehead = &trace;
28192 trace.file = LOCATE_parser;
28193 variable[0] = self;
28194 variable[1] = param0;
28195 variable[3] = NIT_NULL /*null*/;
28196 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28197 variable[4] = variable[5];
28198 variable[5] = variable[4] /*nodearraylist1*/;
28199 variable[6] = TAG_Bool(( variable[5] /*tkwreturnnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwreturnnode2*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/;
28200 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction463___action, LOCATE_parser, 15638); nit_exit(1);}
28201 variable[7] = NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr( variable[5] /*tkwreturnnode2*/, NIT_NULL /*null*/); /*new AReturnExpr*/
28202 variable[6] = variable[7];
28203 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
28204 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(85)) /*Parser::go_to*/;
28205 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
28206 return_label958: while(false);
28207 tracehead = trace.prev;
28208 return;
28209 }
28210 void parser___ReduceAction463___init(val_t self, int* init_table) {
28211 struct trace_t trace = {NULL, NULL, 15646, LOCATE_parser___ReduceAction463___init};
28212 val_t variable[2];
28213 void **closurevariable = NULL;
28214 trace.prev = tracehead; tracehead = &trace;
28215 trace.file = LOCATE_parser;
28216 variable[0] = self;
28217 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction463].i]) return;
28218 return_label959: while(false);
28219 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction463].i] = 1;
28220 tracehead = trace.prev;
28221 return;
28222 }
28223 void parser___ReduceAction464___action(val_t self, val_t param0) {
28224 struct trace_t trace = {NULL, NULL, 15650, LOCATE_parser___ReduceAction464___action};
28225 val_t variable[10];
28226 void **closurevariable = NULL;
28227 trace.prev = tracehead; tracehead = &trace;
28228 trace.file = LOCATE_parser;
28229 variable[0] = self;
28230 variable[1] = param0;
28231 variable[3] = NIT_NULL /*null*/;
28232 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28233 variable[4] = variable[5];
28234 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28235 variable[5] = variable[6];
28236 variable[6] = variable[5] /*nodearraylist1*/;
28237 variable[7] = TAG_Bool(( variable[6] /*tkwreturnnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwreturnnode2*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/;
28238 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction464___action, LOCATE_parser, 15656); nit_exit(1);}
28239 variable[7] = variable[4] /*nodearraylist2*/;
28240 variable[8] = TAG_Bool(( variable[7] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28241 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction464___action, LOCATE_parser, 15658); nit_exit(1);}
28242 variable[9] = NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr( variable[6] /*tkwreturnnode2*/, variable[7] /*pexprnode3*/); /*new AReturnExpr*/
28243 variable[8] = variable[9];
28244 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
28245 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(85)) /*Parser::go_to*/;
28246 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
28247 return_label960: while(false);
28248 tracehead = trace.prev;
28249 return;
28250 }
28251 void parser___ReduceAction464___init(val_t self, int* init_table) {
28252 struct trace_t trace = {NULL, NULL, 15666, LOCATE_parser___ReduceAction464___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(variable[0])->vft[INIT_TABLE_POS_ReduceAction464].i]) return;
28259 return_label961: while(false);
28260 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction464].i] = 1;
28261 tracehead = trace.prev;
28262 return;
28263 }
28264 void parser___ReduceAction465___action(val_t self, val_t param0) {
28265 struct trace_t trace = {NULL, NULL, 15670, LOCATE_parser___ReduceAction465___action};
28266 val_t variable[8];
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] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28274 variable[4] = variable[5];
28275 variable[5] = variable[4] /*nodearraylist1*/;
28276 variable[6] = TAG_Bool(( variable[5] /*tkwbreaknode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwbreaknode2*/, COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
28277 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction465___action, LOCATE_parser, 15675); nit_exit(1);}
28278 variable[7] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr( variable[5] /*tkwbreaknode2*/, NIT_NULL /*null*/); /*new ABreakExpr*/
28279 variable[6] = variable[7];
28280 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
28281 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(85)) /*Parser::go_to*/;
28282 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
28283 return_label962: while(false);
28284 tracehead = trace.prev;
28285 return;
28286 }
28287 void parser___ReduceAction465___init(val_t self, int* init_table) {
28288 struct trace_t trace = {NULL, NULL, 15683, LOCATE_parser___ReduceAction465___init};
28289 val_t variable[2];
28290 void **closurevariable = NULL;
28291 trace.prev = tracehead; tracehead = &trace;
28292 trace.file = LOCATE_parser;
28293 variable[0] = self;
28294 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction465].i]) return;
28295 return_label963: while(false);
28296 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction465].i] = 1;
28297 tracehead = trace.prev;
28298 return;
28299 }
28300 void parser___ReduceAction466___action(val_t self, val_t param0) {
28301 struct trace_t trace = {NULL, NULL, 15687, LOCATE_parser___ReduceAction466___action};
28302 val_t variable[10];
28303 void **closurevariable = NULL;
28304 trace.prev = tracehead; tracehead = &trace;
28305 trace.file = LOCATE_parser;
28306 variable[0] = self;
28307 variable[1] = param0;
28308 variable[3] = NIT_NULL /*null*/;
28309 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28310 variable[4] = variable[5];
28311 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28312 variable[5] = variable[6];
28313 variable[6] = variable[5] /*nodearraylist1*/;
28314 variable[7] = TAG_Bool(( variable[6] /*tkwbreaknode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwbreaknode2*/, COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
28315 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction466___action, LOCATE_parser, 15693); nit_exit(1);}
28316 variable[7] = variable[4] /*nodearraylist2*/;
28317 variable[8] = TAG_Bool(( variable[7] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28318 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction466___action, LOCATE_parser, 15695); nit_exit(1);}
28319 variable[9] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr( variable[6] /*tkwbreaknode2*/, variable[7] /*pexprnode3*/); /*new ABreakExpr*/
28320 variable[8] = variable[9];
28321 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
28322 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(85)) /*Parser::go_to*/;
28323 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
28324 return_label964: while(false);
28325 tracehead = trace.prev;
28326 return;
28327 }
28328 void parser___ReduceAction466___init(val_t self, int* init_table) {
28329 struct trace_t trace = {NULL, NULL, 15703, LOCATE_parser___ReduceAction466___init};
28330 val_t variable[2];
28331 void **closurevariable = NULL;
28332 trace.prev = tracehead; tracehead = &trace;
28333 trace.file = LOCATE_parser;
28334 variable[0] = self;
28335 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction466].i]) return;
28336 return_label965: while(false);
28337 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction466].i] = 1;
28338 tracehead = trace.prev;
28339 return;
28340 }
28341 void parser___ReduceAction467___action(val_t self, val_t param0) {
28342 struct trace_t trace = {NULL, NULL, 15707, LOCATE_parser___ReduceAction467___action};
28343 val_t variable[8];
28344 void **closurevariable = NULL;
28345 trace.prev = tracehead; tracehead = &trace;
28346 trace.file = LOCATE_parser;
28347 variable[0] = self;
28348 variable[1] = param0;
28349 variable[3] = NIT_NULL /*null*/;
28350 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28351 variable[4] = variable[5];
28352 variable[5] = variable[4] /*nodearraylist1*/;
28353 variable[6] = TAG_Bool(( variable[5] /*tkwabortnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwabortnode2*/, COLOR_TKwabort, ID_TKwabort)) /*cast TKwabort*/;
28354 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction467___action, LOCATE_parser, 15712); nit_exit(1);}
28355 variable[7] = NEW_AAbortExpr_parser_prod___AAbortExpr___init_aabortexpr( variable[5] /*tkwabortnode2*/); /*new AAbortExpr*/
28356 variable[6] = variable[7];
28357 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
28358 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(85)) /*Parser::go_to*/;
28359 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
28360 return_label966: while(false);
28361 tracehead = trace.prev;
28362 return;
28363 }
28364 void parser___ReduceAction467___init(val_t self, int* init_table) {
28365 struct trace_t trace = {NULL, NULL, 15719, LOCATE_parser___ReduceAction467___init};
28366 val_t variable[2];
28367 void **closurevariable = NULL;
28368 trace.prev = tracehead; tracehead = &trace;
28369 trace.file = LOCATE_parser;
28370 variable[0] = self;
28371 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction467].i]) return;
28372 return_label967: while(false);
28373 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction467].i] = 1;
28374 tracehead = trace.prev;
28375 return;
28376 }
28377 void parser___ReduceAction468___action(val_t self, val_t param0) {
28378 struct trace_t trace = {NULL, NULL, 15723, LOCATE_parser___ReduceAction468___action};
28379 val_t variable[8];
28380 void **closurevariable = NULL;
28381 trace.prev = tracehead; tracehead = &trace;
28382 trace.file = LOCATE_parser;
28383 variable[0] = self;
28384 variable[1] = param0;
28385 variable[3] = NIT_NULL /*null*/;
28386 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28387 variable[4] = variable[5];
28388 variable[5] = variable[4] /*nodearraylist1*/;
28389 variable[6] = TAG_Bool(( variable[5] /*tkwcontinuenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwcontinuenode2*/, COLOR_TKwcontinue, ID_TKwcontinue)) /*cast TKwcontinue*/;
28390 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction468___action, LOCATE_parser, 15728); nit_exit(1);}
28391 variable[7] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr( variable[5] /*tkwcontinuenode2*/, NIT_NULL /*null*/); /*new AContinueExpr*/
28392 variable[6] = variable[7];
28393 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
28394 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(85)) /*Parser::go_to*/;
28395 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
28396 return_label968: while(false);
28397 tracehead = trace.prev;
28398 return;
28399 }
28400 void parser___ReduceAction468___init(val_t self, int* init_table) {
28401 struct trace_t trace = {NULL, NULL, 15736, LOCATE_parser___ReduceAction468___init};
28402 val_t variable[2];
28403 void **closurevariable = NULL;
28404 trace.prev = tracehead; tracehead = &trace;
28405 trace.file = LOCATE_parser;
28406 variable[0] = self;
28407 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction468].i]) return;
28408 return_label969: while(false);
28409 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction468].i] = 1;
28410 tracehead = trace.prev;
28411 return;
28412 }
28413 void parser___ReduceAction469___action(val_t self, val_t param0) {
28414 struct trace_t trace = {NULL, NULL, 15740, LOCATE_parser___ReduceAction469___action};
28415 val_t variable[10];
28416 void **closurevariable = NULL;
28417 trace.prev = tracehead; tracehead = &trace;
28418 trace.file = LOCATE_parser;
28419 variable[0] = self;
28420 variable[1] = param0;
28421 variable[3] = NIT_NULL /*null*/;
28422 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28423 variable[4] = variable[5];
28424 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28425 variable[5] = variable[6];
28426 variable[6] = variable[5] /*nodearraylist1*/;
28427 variable[7] = TAG_Bool(( variable[6] /*tkwcontinuenode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwcontinuenode2*/, COLOR_TKwcontinue, ID_TKwcontinue)) /*cast TKwcontinue*/;
28428 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction469___action, LOCATE_parser, 15746); nit_exit(1);}
28429 variable[7] = variable[4] /*nodearraylist2*/;
28430 variable[8] = TAG_Bool(( variable[7] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28431 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction469___action, LOCATE_parser, 15748); nit_exit(1);}
28432 variable[9] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr( variable[6] /*tkwcontinuenode2*/, variable[7] /*pexprnode3*/); /*new AContinueExpr*/
28433 variable[8] = variable[9];
28434 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
28435 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(85)) /*Parser::go_to*/;
28436 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
28437 return_label970: while(false);
28438 tracehead = trace.prev;
28439 return;
28440 }
28441 void parser___ReduceAction469___init(val_t self, int* init_table) {
28442 struct trace_t trace = {NULL, NULL, 15756, LOCATE_parser___ReduceAction469___init};
28443 val_t variable[2];
28444 void **closurevariable = NULL;
28445 trace.prev = tracehead; tracehead = &trace;
28446 trace.file = LOCATE_parser;
28447 variable[0] = self;
28448 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction469].i]) return;
28449 return_label971: while(false);
28450 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction469].i] = 1;
28451 tracehead = trace.prev;
28452 return;
28453 }
28454 void parser___ReduceAction470___action(val_t self, val_t param0) {
28455 struct trace_t trace = {NULL, NULL, 15760, LOCATE_parser___ReduceAction470___action};
28456 val_t variable[7];
28457 void **closurevariable = NULL;
28458 trace.prev = tracehead; tracehead = &trace;
28459 trace.file = LOCATE_parser;
28460 variable[0] = self;
28461 variable[1] = param0;
28462 variable[3] = NIT_NULL /*null*/;
28463 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28464 variable[4] = variable[5];
28465 variable[5] = variable[4] /*nodearraylist1*/;
28466 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28467 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction470___action, LOCATE_parser, 15765); nit_exit(1);}
28468 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
28469 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(85)) /*Parser::go_to*/;
28470 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
28471 return_label972: while(false);
28472 tracehead = trace.prev;
28473 return;
28474 }
28475 void parser___ReduceAction470___init(val_t self, int* init_table) {
28476 struct trace_t trace = {NULL, NULL, 15769, LOCATE_parser___ReduceAction470___init};
28477 val_t variable[2];
28478 void **closurevariable = NULL;
28479 trace.prev = tracehead; tracehead = &trace;
28480 trace.file = LOCATE_parser;
28481 variable[0] = self;
28482 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction470].i]) return;
28483 return_label973: while(false);
28484 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction470].i] = 1;
28485 tracehead = trace.prev;
28486 return;
28487 }
28488 void parser___ReduceAction471___action(val_t self, val_t param0) {
28489 struct trace_t trace = {NULL, NULL, 15773, LOCATE_parser___ReduceAction471___action};
28490 val_t variable[7];
28491 void **closurevariable = NULL;
28492 trace.prev = tracehead; tracehead = &trace;
28493 trace.file = LOCATE_parser;
28494 variable[0] = self;
28495 variable[1] = param0;
28496 variable[3] = NIT_NULL /*null*/;
28497 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28498 variable[4] = variable[5];
28499 variable[5] = variable[4] /*nodearraylist1*/;
28500 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28501 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction471___action, LOCATE_parser, 15778); nit_exit(1);}
28502 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
28503 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(85)) /*Parser::go_to*/;
28504 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
28505 return_label974: while(false);
28506 tracehead = trace.prev;
28507 return;
28508 }
28509 void parser___ReduceAction471___init(val_t self, int* init_table) {
28510 struct trace_t trace = {NULL, NULL, 15782, LOCATE_parser___ReduceAction471___init};
28511 val_t variable[2];
28512 void **closurevariable = NULL;
28513 trace.prev = tracehead; tracehead = &trace;
28514 trace.file = LOCATE_parser;
28515 variable[0] = self;
28516 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction471].i]) return;
28517 return_label975: while(false);
28518 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction471].i] = 1;
28519 tracehead = trace.prev;
28520 return;
28521 }
28522 void parser___ReduceAction472___action(val_t self, val_t param0) {
28523 struct trace_t trace = {NULL, NULL, 15786, LOCATE_parser___ReduceAction472___action};
28524 val_t variable[7];
28525 void **closurevariable = NULL;
28526 trace.prev = tracehead; tracehead = &trace;
28527 trace.file = LOCATE_parser;
28528 variable[0] = self;
28529 variable[1] = param0;
28530 variable[3] = NIT_NULL /*null*/;
28531 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28532 variable[4] = variable[5];
28533 variable[5] = variable[4] /*nodearraylist1*/;
28534 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28535 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction472___action, LOCATE_parser, 15791); nit_exit(1);}
28536 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
28537 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(85)) /*Parser::go_to*/;
28538 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
28539 return_label976: while(false);
28540 tracehead = trace.prev;
28541 return;
28542 }
28543 void parser___ReduceAction472___init(val_t self, int* init_table) {
28544 struct trace_t trace = {NULL, NULL, 15795, LOCATE_parser___ReduceAction472___init};
28545 val_t variable[2];
28546 void **closurevariable = NULL;
28547 trace.prev = tracehead; tracehead = &trace;
28548 trace.file = LOCATE_parser;
28549 variable[0] = self;
28550 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction472].i]) return;
28551 return_label977: while(false);
28552 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction472].i] = 1;
28553 tracehead = trace.prev;
28554 return;
28555 }
28556 void parser___ReduceAction473___action(val_t self, val_t param0) {
28557 struct trace_t trace = {NULL, NULL, 15799, LOCATE_parser___ReduceAction473___action};
28558 val_t variable[7];
28559 void **closurevariable = NULL;
28560 trace.prev = tracehead; tracehead = &trace;
28561 trace.file = LOCATE_parser;
28562 variable[0] = self;
28563 variable[1] = param0;
28564 variable[3] = NIT_NULL /*null*/;
28565 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28566 variable[4] = variable[5];
28567 variable[5] = variable[4] /*nodearraylist1*/;
28568 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28569 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction473___action, LOCATE_parser, 15804); nit_exit(1);}
28570 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
28571 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(85)) /*Parser::go_to*/;
28572 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
28573 return_label978: while(false);
28574 tracehead = trace.prev;
28575 return;
28576 }
28577 void parser___ReduceAction473___init(val_t self, int* init_table) {
28578 struct trace_t trace = {NULL, NULL, 15808, LOCATE_parser___ReduceAction473___init};
28579 val_t variable[2];
28580 void **closurevariable = NULL;
28581 trace.prev = tracehead; tracehead = &trace;
28582 trace.file = LOCATE_parser;
28583 variable[0] = self;
28584 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction473].i]) return;
28585 return_label979: while(false);
28586 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction473].i] = 1;
28587 tracehead = trace.prev;
28588 return;
28589 }
28590 void parser___ReduceAction474___action(val_t self, val_t param0) {
28591 struct trace_t trace = {NULL, NULL, 15812, LOCATE_parser___ReduceAction474___action};
28592 val_t variable[7];
28593 void **closurevariable = NULL;
28594 trace.prev = tracehead; tracehead = &trace;
28595 trace.file = LOCATE_parser;
28596 variable[0] = self;
28597 variable[1] = param0;
28598 variable[3] = NIT_NULL /*null*/;
28599 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28600 variable[4] = variable[5];
28601 variable[5] = variable[4] /*nodearraylist1*/;
28602 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28603 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction474___action, LOCATE_parser, 15817); nit_exit(1);}
28604 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
28605 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(85)) /*Parser::go_to*/;
28606 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
28607 return_label980: while(false);
28608 tracehead = trace.prev;
28609 return;
28610 }
28611 void parser___ReduceAction474___init(val_t self, int* init_table) {
28612 struct trace_t trace = {NULL, NULL, 15821, LOCATE_parser___ReduceAction474___init};
28613 val_t variable[2];
28614 void **closurevariable = NULL;
28615 trace.prev = tracehead; tracehead = &trace;
28616 trace.file = LOCATE_parser;
28617 variable[0] = self;
28618 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction474].i]) return;
28619 return_label981: while(false);
28620 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction474].i] = 1;
28621 tracehead = trace.prev;
28622 return;
28623 }
28624 void parser___ReduceAction475___action(val_t self, val_t param0) {
28625 struct trace_t trace = {NULL, NULL, 15825, LOCATE_parser___ReduceAction475___action};
28626 val_t variable[16];
28627 void **closurevariable = NULL;
28628 trace.prev = tracehead; tracehead = &trace;
28629 trace.file = LOCATE_parser;
28630 variable[0] = self;
28631 variable[1] = param0;
28632 variable[3] = NIT_NULL /*null*/;
28633 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28634 variable[4] = variable[5];
28635 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28636 variable[5] = variable[6];
28637 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28638 variable[6] = variable[7];
28639 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28640 variable[7] = variable[8];
28641 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28642 variable[8] = variable[9];
28643 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28644 variable[9] = variable[10];
28645 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28646 variable[10] = variable[11];
28647 variable[11] = variable[8] /*nodearraylist1*/;
28648 variable[12] = TAG_Bool(( variable[11] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28649 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction475___action, LOCATE_parser, 15836); nit_exit(1);}
28650 variable[12] = variable[5] /*nodearraylist4*/;
28651 variable[13] = TAG_Bool(( variable[12] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
28652 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction475___action, LOCATE_parser, 15838); nit_exit(1);}
28653 variable[13] = variable[4] /*nodearraylist5*/;
28654 variable[14] = TAG_Bool(( variable[13] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
28655 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction475___action, LOCATE_parser, 15840); nit_exit(1);}
28656 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*listnode4*/)( variable[13] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
28657 if (UNTAG_Bool(variable[14])) { /*if*/
28658 variable[14] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode5*/)( variable[9] /*listnode5*/) /*AbstractArray::is_empty*/;
28659 if (UNTAG_Bool(variable[14])) { /*if*/
28660 variable[9] = variable[13] /*listnode4*/ /*listnode5=*/;
28661 } else { /*if*/
28662 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode5*/)( variable[9] /*listnode5*/, variable[13] /*listnode4*/) /*IndexedCollection::append*/;
28663 }
28664 }
28665 variable[15] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[11] /*pexprnode2*/, variable[12] /*tidnode3*/, variable[9] /*listnode5*/, variable[10] /*listnode6*/); /*new ACallExpr*/
28666 variable[14] = variable[15];
28667 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
28668 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(85)) /*Parser::go_to*/;
28669 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
28670 return_label982: while(false);
28671 tracehead = trace.prev;
28672 return;
28673 }
28674 void parser___ReduceAction475___init(val_t self, int* init_table) {
28675 struct trace_t trace = {NULL, NULL, 15857, LOCATE_parser___ReduceAction475___init};
28676 val_t variable[2];
28677 void **closurevariable = NULL;
28678 trace.prev = tracehead; tracehead = &trace;
28679 trace.file = LOCATE_parser;
28680 variable[0] = self;
28681 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction475].i]) return;
28682 return_label983: while(false);
28683 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction475].i] = 1;
28684 tracehead = trace.prev;
28685 return;
28686 }
28687 void parser___ReduceAction476___action(val_t self, val_t param0) {
28688 struct trace_t trace = {NULL, NULL, 15861, LOCATE_parser___ReduceAction476___action};
28689 val_t variable[13];
28690 void **closurevariable = NULL;
28691 trace.prev = tracehead; tracehead = &trace;
28692 trace.file = LOCATE_parser;
28693 variable[0] = self;
28694 variable[1] = param0;
28695 variable[3] = NIT_NULL /*null*/;
28696 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28697 variable[4] = variable[5];
28698 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28699 variable[5] = variable[6];
28700 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28701 variable[6] = variable[7];
28702 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28703 variable[7] = variable[8];
28704 variable[9] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
28705 variable[8] = variable[9];
28706 variable[9] = variable[5] /*nodearraylist1*/;
28707 variable[10] = TAG_Bool(( variable[9] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
28708 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction476___action, LOCATE_parser, 15871); nit_exit(1);}
28709 variable[10] = variable[4] /*nodearraylist2*/;
28710 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
28711 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction476___action, LOCATE_parser, 15873); nit_exit(1);}
28712 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
28713 if (UNTAG_Bool(variable[11])) { /*if*/
28714 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
28715 if (UNTAG_Bool(variable[11])) { /*if*/
28716 variable[6] = variable[10] /*listnode4*/ /*listnode5=*/;
28717 } else { /*if*/
28718 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
28719 }
28720 }
28721 variable[12] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[8] /*pexprnode2*/, variable[9] /*tidnode3*/, variable[6] /*listnode5*/, variable[7] /*listnode6*/); /*new ACallExpr*/
28722 variable[11] = variable[12];
28723 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
28724 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(85)) /*Parser::go_to*/;
28725 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
28726 return_label984: while(false);
28727 tracehead = trace.prev;
28728 return;
28729 }
28730 void parser___ReduceAction476___init(val_t self, int* init_table) {
28731 struct trace_t trace = {NULL, NULL, 15890, LOCATE_parser___ReduceAction476___init};
28732 val_t variable[2];
28733 void **closurevariable = NULL;
28734 trace.prev = tracehead; tracehead = &trace;
28735 trace.file = LOCATE_parser;
28736 variable[0] = self;
28737 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction476].i]) return;
28738 return_label985: while(false);
28739 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction476].i] = 1;
28740 tracehead = trace.prev;
28741 return;
28742 }
28743 void parser___ReduceAction477___action(val_t self, val_t param0) {
28744 struct trace_t trace = {NULL, NULL, 15894, LOCATE_parser___ReduceAction477___action};
28745 val_t variable[18];
28746 void **closurevariable = NULL;
28747 trace.prev = tracehead; tracehead = &trace;
28748 trace.file = LOCATE_parser;
28749 variable[0] = self;
28750 variable[1] = param0;
28751 variable[3] = NIT_NULL /*null*/;
28752 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28753 variable[4] = variable[5];
28754 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28755 variable[5] = variable[6];
28756 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28757 variable[6] = variable[7];
28758 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28759 variable[7] = variable[8];
28760 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28761 variable[8] = variable[9];
28762 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28763 variable[9] = variable[10];
28764 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28765 variable[10] = variable[11];
28766 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28767 variable[11] = variable[12];
28768 variable[12] = variable[9] /*nodearraylist1*/;
28769 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28770 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction477___action, LOCATE_parser, 15906); nit_exit(1);}
28771 variable[13] = variable[6] /*nodearraylist4*/;
28772 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
28773 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction477___action, LOCATE_parser, 15908); nit_exit(1);}
28774 variable[14] = variable[5] /*nodearraylist5*/;
28775 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
28776 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction477___action, LOCATE_parser, 15910); nit_exit(1);}
28777 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
28778 if (UNTAG_Bool(variable[15])) { /*if*/
28779 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode5*/)( variable[10] /*listnode5*/) /*AbstractArray::is_empty*/;
28780 if (UNTAG_Bool(variable[15])) { /*if*/
28781 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
28782 } else { /*if*/
28783 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode5*/)( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
28784 }
28785 }
28786 variable[15] = variable[4] /*nodearraylist6*/;
28787 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
28788 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction477___action, LOCATE_parser, 15919); nit_exit(1);}
28789 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*listnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*listnode6*/)( variable[15] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
28790 if (UNTAG_Bool(variable[16])) { /*if*/
28791 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode7*/)( variable[11] /*listnode7*/) /*AbstractArray::is_empty*/;
28792 if (UNTAG_Bool(variable[16])) { /*if*/
28793 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
28794 } else { /*if*/
28795 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
28796 }
28797 }
28798 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/); /*new ACallExpr*/
28799 variable[16] = variable[17];
28800 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
28801 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(85)) /*Parser::go_to*/;
28802 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
28803 return_label986: while(false);
28804 tracehead = trace.prev;
28805 return;
28806 }
28807 void parser___ReduceAction477___init(val_t self, int* init_table) {
28808 struct trace_t trace = {NULL, NULL, 15936, LOCATE_parser___ReduceAction477___init};
28809 val_t variable[2];
28810 void **closurevariable = NULL;
28811 trace.prev = tracehead; tracehead = &trace;
28812 trace.file = LOCATE_parser;
28813 variable[0] = self;
28814 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction477].i]) return;
28815 return_label987: while(false);
28816 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction477].i] = 1;
28817 tracehead = trace.prev;
28818 return;
28819 }
28820 void parser___ReduceAction478___action(val_t self, val_t param0) {
28821 struct trace_t trace = {NULL, NULL, 15940, LOCATE_parser___ReduceAction478___action};
28822 val_t variable[15];
28823 void **closurevariable = NULL;
28824 trace.prev = tracehead; tracehead = &trace;
28825 trace.file = LOCATE_parser;
28826 variable[0] = self;
28827 variable[1] = param0;
28828 variable[3] = NIT_NULL /*null*/;
28829 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28830 variable[4] = variable[5];
28831 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28832 variable[5] = variable[6];
28833 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28834 variable[6] = variable[7];
28835 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28836 variable[7] = variable[8];
28837 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28838 variable[8] = variable[9];
28839 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
28840 variable[9] = variable[10];
28841 variable[10] = variable[6] /*nodearraylist1*/;
28842 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
28843 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction478___action, LOCATE_parser, 15951); nit_exit(1);}
28844 variable[11] = variable[5] /*nodearraylist2*/;
28845 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
28846 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction478___action, LOCATE_parser, 15953); nit_exit(1);}
28847 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
28848 if (UNTAG_Bool(variable[12])) { /*if*/
28849 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
28850 if (UNTAG_Bool(variable[12])) { /*if*/
28851 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
28852 } else { /*if*/
28853 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
28854 }
28855 }
28856 variable[12] = variable[4] /*nodearraylist3*/;
28857 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
28858 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction478___action, LOCATE_parser, 15962); nit_exit(1);}
28859 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode6*/)( variable[12] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
28860 if (UNTAG_Bool(variable[13])) { /*if*/
28861 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode7*/)( variable[8] /*listnode7*/) /*AbstractArray::is_empty*/;
28862 if (UNTAG_Bool(variable[13])) { /*if*/
28863 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
28864 } else { /*if*/
28865 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode7*/)( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
28866 }
28867 }
28868 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/); /*new ACallExpr*/
28869 variable[13] = variable[14];
28870 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
28871 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(85)) /*Parser::go_to*/;
28872 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
28873 return_label988: while(false);
28874 tracehead = trace.prev;
28875 return;
28876 }
28877 void parser___ReduceAction478___init(val_t self, int* init_table) {
28878 struct trace_t trace = {NULL, NULL, 15979, LOCATE_parser___ReduceAction478___init};
28879 val_t variable[2];
28880 void **closurevariable = NULL;
28881 trace.prev = tracehead; tracehead = &trace;
28882 trace.file = LOCATE_parser;
28883 variable[0] = self;
28884 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction478].i]) return;
28885 return_label989: while(false);
28886 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction478].i] = 1;
28887 tracehead = trace.prev;
28888 return;
28889 }
28890 void parser___ReduceAction479___action(val_t self, val_t param0) {
28891 struct trace_t trace = {NULL, NULL, 15983, LOCATE_parser___ReduceAction479___action};
28892 val_t variable[11];
28893 void **closurevariable = NULL;
28894 trace.prev = tracehead; tracehead = &trace;
28895 trace.file = LOCATE_parser;
28896 variable[0] = self;
28897 variable[1] = param0;
28898 variable[3] = NIT_NULL /*null*/;
28899 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28900 variable[4] = variable[5];
28901 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28902 variable[5] = variable[6];
28903 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28904 variable[6] = variable[7];
28905 variable[7] = variable[5] /*nodearraylist1*/;
28906 variable[8] = TAG_Bool(( variable[7] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
28907 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction479___action, LOCATE_parser, 15990); nit_exit(1);}
28908 variable[8] = variable[4] /*nodearraylist2*/;
28909 variable[9] = TAG_Bool(( variable[8] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
28910 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction479___action, LOCATE_parser, 15992); nit_exit(1);}
28911 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
28912 if (UNTAG_Bool(variable[9])) { /*if*/
28913 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
28914 if (UNTAG_Bool(variable[9])) { /*if*/
28915 variable[6] = variable[8] /*listnode4*/ /*listnode5=*/;
28916 } else { /*if*/
28917 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[8] /*listnode4*/) /*IndexedCollection::append*/;
28918 }
28919 }
28920 variable[10] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable[7] /*tkwsupernode3*/, variable[6] /*listnode5*/); /*new ASuperExpr*/
28921 variable[9] = variable[10];
28922 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
28923 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(85)) /*Parser::go_to*/;
28924 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
28925 return_label990: while(false);
28926 tracehead = trace.prev;
28927 return;
28928 }
28929 void parser___ReduceAction479___init(val_t self, int* init_table) {
28930 struct trace_t trace = {NULL, NULL, 16008, LOCATE_parser___ReduceAction479___init};
28931 val_t variable[2];
28932 void **closurevariable = NULL;
28933 trace.prev = tracehead; tracehead = &trace;
28934 trace.file = LOCATE_parser;
28935 variable[0] = self;
28936 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction479].i]) return;
28937 return_label991: while(false);
28938 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction479].i] = 1;
28939 tracehead = trace.prev;
28940 return;
28941 }
28942 void parser___ReduceAction480___action(val_t self, val_t param0) {
28943 struct trace_t trace = {NULL, NULL, 16012, LOCATE_parser___ReduceAction480___action};
28944 val_t variable[13];
28945 void **closurevariable = NULL;
28946 trace.prev = tracehead; tracehead = &trace;
28947 trace.file = LOCATE_parser;
28948 variable[0] = self;
28949 variable[1] = param0;
28950 variable[3] = NIT_NULL /*null*/;
28951 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28952 variable[4] = variable[5];
28953 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28954 variable[5] = variable[6];
28955 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28956 variable[6] = variable[7];
28957 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28958 variable[7] = variable[8];
28959 variable[8] = variable[6] /*nodearraylist1*/;
28960 variable[9] = TAG_Bool(( variable[8] /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
28961 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction480___action, LOCATE_parser, 16020); nit_exit(1);}
28962 variable[9] = variable[5] /*nodearraylist2*/;
28963 variable[10] = TAG_Bool(( variable[9] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
28964 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction480___action, LOCATE_parser, 16022); nit_exit(1);}
28965 variable[10] = variable[4] /*nodearraylist3*/;
28966 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
28967 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction480___action, LOCATE_parser, 16024); nit_exit(1);}
28968 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
28969 if (UNTAG_Bool(variable[11])) { /*if*/
28970 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
28971 if (UNTAG_Bool(variable[11])) { /*if*/
28972 variable[7] = variable[10] /*listnode4*/ /*listnode5=*/;
28973 } else { /*if*/
28974 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
28975 }
28976 }
28977 variable[12] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( variable[8] /*pqualifiednode2*/, variable[9] /*tkwsupernode3*/, variable[7] /*listnode5*/); /*new ASuperExpr*/
28978 variable[11] = variable[12];
28979 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
28980 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(85)) /*Parser::go_to*/;
28981 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
28982 return_label992: while(false);
28983 tracehead = trace.prev;
28984 return;
28985 }
28986 void parser___ReduceAction480___init(val_t self, int* init_table) {
28987 struct trace_t trace = {NULL, NULL, 16040, LOCATE_parser___ReduceAction480___init};
28988 val_t variable[2];
28989 void **closurevariable = NULL;
28990 trace.prev = tracehead; tracehead = &trace;
28991 trace.file = LOCATE_parser;
28992 variable[0] = self;
28993 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction480].i]) return;
28994 return_label993: while(false);
28995 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction480].i] = 1;
28996 tracehead = trace.prev;
28997 return;
28998 }
28999 void parser___ReduceAction481___action(val_t self, val_t param0) {
29000 struct trace_t trace = {NULL, NULL, 16044, LOCATE_parser___ReduceAction481___action};
29001 val_t variable[15];
29002 void **closurevariable = NULL;
29003 trace.prev = tracehead; tracehead = &trace;
29004 trace.file = LOCATE_parser;
29005 variable[0] = self;
29006 variable[1] = param0;
29007 variable[3] = NIT_NULL /*null*/;
29008 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29009 variable[4] = variable[5];
29010 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29011 variable[5] = variable[6];
29012 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29013 variable[6] = variable[7];
29014 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29015 variable[7] = variable[8];
29016 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29017 variable[8] = variable[9];
29018 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29019 variable[9] = variable[10];
29020 variable[10] = variable[8] /*nodearraylist1*/;
29021 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29022 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction481___action, LOCATE_parser, 16054); nit_exit(1);}
29023 variable[11] = variable[5] /*nodearraylist4*/;
29024 variable[12] = TAG_Bool(( variable[11] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
29025 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction481___action, LOCATE_parser, 16056); nit_exit(1);}
29026 variable[12] = variable[4] /*nodearraylist5*/;
29027 variable[13] = TAG_Bool(( variable[12] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
29028 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction481___action, LOCATE_parser, 16058); nit_exit(1);}
29029 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode4*/)( variable[12] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
29030 if (UNTAG_Bool(variable[13])) { /*if*/
29031 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode5*/)( variable[9] /*listnode5*/) /*AbstractArray::is_empty*/;
29032 if (UNTAG_Bool(variable[13])) { /*if*/
29033 variable[9] = variable[12] /*listnode4*/ /*listnode5=*/;
29034 } else { /*if*/
29035 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode5*/)( variable[9] /*listnode5*/, variable[12] /*listnode4*/) /*IndexedCollection::append*/;
29036 }
29037 }
29038 variable[14] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[10] /*pexprnode2*/, variable[11] /*tkwinitnode3*/, variable[9] /*listnode5*/); /*new AInitExpr*/
29039 variable[13] = variable[14];
29040 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
29041 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(85)) /*Parser::go_to*/;
29042 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
29043 return_label994: while(false);
29044 tracehead = trace.prev;
29045 return;
29046 }
29047 void parser___ReduceAction481___init(val_t self, int* init_table) {
29048 struct trace_t trace = {NULL, NULL, 16074, LOCATE_parser___ReduceAction481___init};
29049 val_t variable[2];
29050 void **closurevariable = NULL;
29051 trace.prev = tracehead; tracehead = &trace;
29052 trace.file = LOCATE_parser;
29053 variable[0] = self;
29054 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction481].i]) return;
29055 return_label995: while(false);
29056 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction481].i] = 1;
29057 tracehead = trace.prev;
29058 return;
29059 }
29060 void parser___ReduceAction482___action(val_t self, val_t param0) {
29061 struct trace_t trace = {NULL, NULL, 16078, LOCATE_parser___ReduceAction482___action};
29062 val_t variable[12];
29063 void **closurevariable = NULL;
29064 trace.prev = tracehead; tracehead = &trace;
29065 trace.file = LOCATE_parser;
29066 variable[0] = self;
29067 variable[1] = param0;
29068 variable[3] = NIT_NULL /*null*/;
29069 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29070 variable[4] = variable[5];
29071 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29072 variable[5] = variable[6];
29073 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29074 variable[6] = variable[7];
29075 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
29076 variable[7] = variable[8];
29077 variable[8] = variable[5] /*nodearraylist1*/;
29078 variable[9] = TAG_Bool(( variable[8] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
29079 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction482___action, LOCATE_parser, 16087); nit_exit(1);}
29080 variable[9] = variable[4] /*nodearraylist2*/;
29081 variable[10] = TAG_Bool(( variable[9] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
29082 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction482___action, LOCATE_parser, 16089); nit_exit(1);}
29083 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[9] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
29084 if (UNTAG_Bool(variable[10])) { /*if*/
29085 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
29086 if (UNTAG_Bool(variable[10])) { /*if*/
29087 variable[6] = variable[9] /*listnode4*/ /*listnode5=*/;
29088 } else { /*if*/
29089 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[9] /*listnode4*/) /*IndexedCollection::append*/;
29090 }
29091 }
29092 variable[11] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[7] /*pexprnode2*/, variable[8] /*tkwinitnode3*/, variable[6] /*listnode5*/); /*new AInitExpr*/
29093 variable[10] = variable[11];
29094 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
29095 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(85)) /*Parser::go_to*/;
29096 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
29097 return_label996: while(false);
29098 tracehead = trace.prev;
29099 return;
29100 }
29101 void parser___ReduceAction482___init(val_t self, int* init_table) {
29102 struct trace_t trace = {NULL, NULL, 16105, LOCATE_parser___ReduceAction482___init};
29103 val_t variable[2];
29104 void **closurevariable = NULL;
29105 trace.prev = tracehead; tracehead = &trace;
29106 trace.file = LOCATE_parser;
29107 variable[0] = self;
29108 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction482].i]) return;
29109 return_label997: while(false);
29110 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction482].i] = 1;
29111 tracehead = trace.prev;
29112 return;
29113 }
29114 void parser___ReduceAction483___action(val_t self, val_t param0) {
29115 struct trace_t trace = {NULL, NULL, 16109, LOCATE_parser___ReduceAction483___action};
29116 val_t variable[8];
29117 void **closurevariable = NULL;
29118 trace.prev = tracehead; tracehead = &trace;
29119 trace.file = LOCATE_parser;
29120 variable[0] = self;
29121 variable[1] = param0;
29122 variable[3] = NIT_NULL /*null*/;
29123 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29124 variable[4] = variable[5];
29125 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29126 variable[5] = variable[6];
29127 variable[6] = variable[4] /*nodearraylist1*/;
29128 variable[7] = TAG_Bool(( variable[6] /*pclosuredefnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pclosuredefnode1*/, COLOR_PClosureDef, ID_PClosureDef)) /*cast PClosureDef*/;
29129 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction483___action, LOCATE_parser, 16115); nit_exit(1);}
29130 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*pclosuredefnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*pclosuredefnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*pclosuredefnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*pclosuredefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*pclosuredefnode1*/)( variable[6] /*pclosuredefnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
29131 if (UNTAG_Bool(variable[7])) { /*if*/
29132 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*pclosuredefnode1*/) /*AbstractArray::add*/;
29133 }
29134 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
29135 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(86)) /*Parser::go_to*/;
29136 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
29137 return_label998: while(false);
29138 tracehead = trace.prev;
29139 return;
29140 }
29141 void parser___ReduceAction483___init(val_t self, int* init_table) {
29142 struct trace_t trace = {NULL, NULL, 16122, LOCATE_parser___ReduceAction483___init};
29143 val_t variable[2];
29144 void **closurevariable = NULL;
29145 trace.prev = tracehead; tracehead = &trace;
29146 trace.file = LOCATE_parser;
29147 variable[0] = self;
29148 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction483].i]) return;
29149 return_label999: while(false);
29150 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction483].i] = 1;
29151 tracehead = trace.prev;
29152 return;
29153 }
29154 void parser___ReduceAction484___action(val_t self, val_t param0) {
29155 struct trace_t trace = {NULL, NULL, 16126, LOCATE_parser___ReduceAction484___action};
29156 val_t variable[10];
29157 void **closurevariable = NULL;
29158 trace.prev = tracehead; tracehead = &trace;
29159 trace.file = LOCATE_parser;
29160 variable[0] = self;
29161 variable[1] = param0;
29162 variable[3] = NIT_NULL /*null*/;
29163 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29164 variable[4] = variable[5];
29165 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29166 variable[5] = variable[6];
29167 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29168 variable[6] = variable[7];
29169 variable[7] = variable[5] /*nodearraylist1*/;
29170 variable[8] = TAG_Bool(( variable[7] /*pclosuredefnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*pclosuredefnode1*/, COLOR_PClosureDef, ID_PClosureDef)) /*cast PClosureDef*/;
29171 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction484___action, LOCATE_parser, 16133); nit_exit(1);}
29172 variable[8] = variable[4] /*nodearraylist2*/;
29173 variable[9] = TAG_Bool(( variable[8] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
29174 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction484___action, LOCATE_parser, 16135); nit_exit(1);}
29175 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*pclosuredefnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*pclosuredefnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*pclosuredefnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*pclosuredefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*pclosuredefnode1*/)( variable[7] /*pclosuredefnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
29176 if (UNTAG_Bool(variable[9])) { /*if*/
29177 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*pclosuredefnode1*/) /*AbstractArray::add*/;
29178 }
29179 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*listnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*listnode2*/)( variable[8] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
29180 if (UNTAG_Bool(variable[9])) { /*if*/
29181 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
29182 if (UNTAG_Bool(variable[9])) { /*if*/
29183 variable[6] = variable[8] /*listnode2*/ /*listnode3=*/;
29184 } else { /*if*/
29185 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*listnode2*/) /*IndexedCollection::append*/;
29186 }
29187 }
29188 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
29189 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(86)) /*Parser::go_to*/;
29190 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
29191 return_label1000: while(false);
29192 tracehead = trace.prev;
29193 return;
29194 }
29195 void parser___ReduceAction484___init(val_t self, int* init_table) {
29196 struct trace_t trace = {NULL, NULL, 16149, LOCATE_parser___ReduceAction484___init};
29197 val_t variable[2];
29198 void **closurevariable = NULL;
29199 trace.prev = tracehead; tracehead = &trace;
29200 trace.file = LOCATE_parser;
29201 variable[0] = self;
29202 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction484].i]) return;
29203 return_label1001: while(false);
29204 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction484].i] = 1;
29205 tracehead = trace.prev;
29206 return;
29207 }
29208 void parser___ReduceAction485___action(val_t self, val_t param0) {
29209 struct trace_t trace = {NULL, NULL, 16153, LOCATE_parser___ReduceAction485___action};
29210 val_t variable[13];
29211 void **closurevariable = NULL;
29212 trace.prev = tracehead; tracehead = &trace;
29213 trace.file = LOCATE_parser;
29214 variable[0] = self;
29215 variable[1] = param0;
29216 variable[3] = NIT_NULL /*null*/;
29217 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29218 variable[4] = variable[5];
29219 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29220 variable[5] = variable[6];
29221 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29222 variable[6] = variable[7];
29223 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29224 variable[7] = variable[8];
29225 variable[8] = variable[6] /*nodearraylist1*/;
29226 variable[9] = TAG_Bool(( variable[8] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
29227 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction485___action, LOCATE_parser, 16161); nit_exit(1);}
29228 variable[9] = variable[5] /*nodearraylist2*/;
29229 variable[10] = TAG_Bool(( variable[9] /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
29230 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction485___action, LOCATE_parser, 16163); nit_exit(1);}
29231 variable[10] = variable[4] /*nodearraylist3*/;
29232 variable[11] = TAG_Bool(( variable[10] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29233 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction485___action, LOCATE_parser, 16165); nit_exit(1);}
29234 variable[12] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[8] /*tkwwithnode2*/, variable[7] /*listnode3*/, variable[9] /*tkwdonode4*/, variable[10] /*pexprnode5*/); /*new AClosureDef*/
29235 variable[11] = variable[12];
29236 variable[3] = variable[11] /*pclosuredefnode1*/ /*node_list=*/;
29237 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(87)) /*Parser::go_to*/;
29238 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
29239 return_label1002: while(false);
29240 tracehead = trace.prev;
29241 return;
29242 }
29243 void parser___ReduceAction485___init(val_t self, int* init_table) {
29244 struct trace_t trace = {NULL, NULL, 16175, LOCATE_parser___ReduceAction485___init};
29245 val_t variable[2];
29246 void **closurevariable = NULL;
29247 trace.prev = tracehead; tracehead = &trace;
29248 trace.file = LOCATE_parser;
29249 variable[0] = self;
29250 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction485].i]) return;
29251 return_label1003: while(false);
29252 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction485].i] = 1;
29253 tracehead = trace.prev;
29254 return;
29255 }
29256 void parser___ReduceAction486___action(val_t self, val_t param0) {
29257 struct trace_t trace = {NULL, NULL, 16179, LOCATE_parser___ReduceAction486___action};
29258 val_t variable[15];
29259 void **closurevariable = NULL;
29260 trace.prev = tracehead; tracehead = &trace;
29261 trace.file = LOCATE_parser;
29262 variable[0] = self;
29263 variable[1] = param0;
29264 variable[3] = NIT_NULL /*null*/;
29265 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29266 variable[4] = variable[5];
29267 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29268 variable[5] = variable[6];
29269 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29270 variable[6] = variable[7];
29271 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29272 variable[7] = variable[8];
29273 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29274 variable[8] = variable[9];
29275 variable[9] = variable[7] /*nodearraylist1*/;
29276 variable[10] = TAG_Bool(( variable[9] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
29277 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction486___action, LOCATE_parser, 16188); nit_exit(1);}
29278 variable[10] = variable[6] /*nodearraylist2*/;
29279 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
29280 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction486___action, LOCATE_parser, 16190); nit_exit(1);}
29281 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
29282 if (UNTAG_Bool(variable[11])) { /*if*/
29283 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode4*/)( variable[8] /*listnode4*/) /*AbstractArray::is_empty*/;
29284 if (UNTAG_Bool(variable[11])) { /*if*/
29285 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
29286 } else { /*if*/
29287 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
29288 }
29289 }
29290 variable[11] = variable[5] /*nodearraylist3*/;
29291 variable[12] = TAG_Bool(( variable[11] /*tkwdonode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwdonode5*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
29292 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction486___action, LOCATE_parser, 16199); nit_exit(1);}
29293 variable[12] = variable[4] /*nodearraylist4*/;
29294 variable[13] = TAG_Bool(( variable[12] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29295 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction486___action, LOCATE_parser, 16201); nit_exit(1);}
29296 variable[14] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[9] /*tkwwithnode2*/, variable[8] /*listnode4*/, variable[11] /*tkwdonode5*/, variable[12] /*pexprnode6*/); /*new AClosureDef*/
29297 variable[13] = variable[14];
29298 variable[3] = variable[13] /*pclosuredefnode1*/ /*node_list=*/;
29299 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(87)) /*Parser::go_to*/;
29300 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
29301 return_label1004: while(false);
29302 tracehead = trace.prev;
29303 return;
29304 }
29305 void parser___ReduceAction486___init(val_t self, int* init_table) {
29306 struct trace_t trace = {NULL, NULL, 16211, LOCATE_parser___ReduceAction486___init};
29307 val_t variable[2];
29308 void **closurevariable = NULL;
29309 trace.prev = tracehead; tracehead = &trace;
29310 trace.file = LOCATE_parser;
29311 variable[0] = self;
29312 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction486].i]) return;
29313 return_label1005: while(false);
29314 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction486].i] = 1;
29315 tracehead = trace.prev;
29316 return;
29317 }
29318 void parser___ReduceAction487___action(val_t self, val_t param0) {
29319 struct trace_t trace = {NULL, NULL, 16215, LOCATE_parser___ReduceAction487___action};
29320 val_t variable[10];
29321 void **closurevariable = NULL;
29322 trace.prev = tracehead; tracehead = &trace;
29323 trace.file = LOCATE_parser;
29324 variable[0] = self;
29325 variable[1] = param0;
29326 variable[3] = NIT_NULL /*null*/;
29327 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29328 variable[4] = variable[5];
29329 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29330 variable[5] = variable[6];
29331 variable[6] = variable[5] /*nodearraylist1*/;
29332 variable[7] = TAG_Bool(( variable[6] /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
29333 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction487___action, LOCATE_parser, 16221); nit_exit(1);}
29334 variable[7] = variable[4] /*nodearraylist2*/;
29335 variable[8] = TAG_Bool(( variable[7] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
29336 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction487___action, LOCATE_parser, 16223); nit_exit(1);}
29337 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*/
29338 variable[8] = variable[9];
29339 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
29340 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(88)) /*Parser::go_to*/;
29341 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
29342 return_label1006: while(false);
29343 tracehead = trace.prev;
29344 return;
29345 }
29346 void parser___ReduceAction487___init(val_t self, int* init_table) {
29347 struct trace_t trace = {NULL, NULL, 16234, LOCATE_parser___ReduceAction487___init};
29348 val_t variable[2];
29349 void **closurevariable = NULL;
29350 trace.prev = tracehead; tracehead = &trace;
29351 trace.file = LOCATE_parser;
29352 variable[0] = self;
29353 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction487].i]) return;
29354 return_label1007: while(false);
29355 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction487].i] = 1;
29356 tracehead = trace.prev;
29357 return;
29358 }
29359 void parser___ReduceAction488___action(val_t self, val_t param0) {
29360 struct trace_t trace = {NULL, NULL, 16238, LOCATE_parser___ReduceAction488___action};
29361 val_t variable[12];
29362 void **closurevariable = NULL;
29363 trace.prev = tracehead; tracehead = &trace;
29364 trace.file = LOCATE_parser;
29365 variable[0] = self;
29366 variable[1] = param0;
29367 variable[3] = NIT_NULL /*null*/;
29368 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29369 variable[4] = variable[5];
29370 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29371 variable[5] = variable[6];
29372 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29373 variable[6] = variable[7];
29374 variable[7] = variable[6] /*nodearraylist1*/;
29375 variable[8] = TAG_Bool(( variable[7] /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
29376 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction488___action, LOCATE_parser, 16245); nit_exit(1);}
29377 variable[8] = variable[5] /*nodearraylist2*/;
29378 variable[9] = TAG_Bool(( variable[8] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
29379 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction488___action, LOCATE_parser, 16247); nit_exit(1);}
29380 variable[9] = variable[4] /*nodearraylist3*/;
29381 variable[10] = TAG_Bool(( variable[9] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[9] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
29382 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction488___action, LOCATE_parser, 16249); nit_exit(1);}
29383 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*/
29384 variable[10] = variable[11];
29385 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
29386 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(88)) /*Parser::go_to*/;
29387 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
29388 return_label1008: while(false);
29389 tracehead = trace.prev;
29390 return;
29391 }
29392 void parser___ReduceAction488___init(val_t self, int* init_table) {
29393 struct trace_t trace = {NULL, NULL, 16260, LOCATE_parser___ReduceAction488___init};
29394 val_t variable[2];
29395 void **closurevariable = NULL;
29396 trace.prev = tracehead; tracehead = &trace;
29397 trace.file = LOCATE_parser;
29398 variable[0] = self;
29399 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction488].i]) return;
29400 return_label1009: while(false);
29401 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction488].i] = 1;
29402 tracehead = trace.prev;
29403 return;
29404 }
29405 void parser___ReduceAction489___action(val_t self, val_t param0) {
29406 struct trace_t trace = {NULL, NULL, 16264, LOCATE_parser___ReduceAction489___action};
29407 val_t variable[15];
29408 void **closurevariable = NULL;
29409 trace.prev = tracehead; tracehead = &trace;
29410 trace.file = LOCATE_parser;
29411 variable[0] = self;
29412 variable[1] = param0;
29413 variable[3] = NIT_NULL /*null*/;
29414 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29415 variable[4] = variable[5];
29416 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29417 variable[5] = variable[6];
29418 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29419 variable[6] = variable[7];
29420 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29421 variable[7] = variable[8];
29422 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29423 variable[8] = variable[9];
29424 variable[9] = variable[8] /*nodearraylist1*/;
29425 variable[10] = TAG_Bool(( variable[9] /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
29426 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction489___action, LOCATE_parser, 16273); nit_exit(1);}
29427 variable[10] = variable[7] /*nodearraylist2*/;
29428 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
29429 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction489___action, LOCATE_parser, 16275); nit_exit(1);}
29430 variable[11] = variable[6] /*nodearraylist3*/;
29431 variable[12] = TAG_Bool(( variable[11] /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
29432 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction489___action, LOCATE_parser, 16277); nit_exit(1);}
29433 variable[12] = variable[4] /*nodearraylist5*/;
29434 variable[13] = TAG_Bool(( variable[12] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29435 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction489___action, LOCATE_parser, 16279); nit_exit(1);}
29436 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*/
29437 variable[13] = variable[14];
29438 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
29439 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(88)) /*Parser::go_to*/;
29440 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
29441 return_label1010: while(false);
29442 tracehead = trace.prev;
29443 return;
29444 }
29445 void parser___ReduceAction489___init(val_t self, int* init_table) {
29446 struct trace_t trace = {NULL, NULL, 16290, LOCATE_parser___ReduceAction489___init};
29447 val_t variable[2];
29448 void **closurevariable = NULL;
29449 trace.prev = tracehead; tracehead = &trace;
29450 trace.file = LOCATE_parser;
29451 variable[0] = self;
29452 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction489].i]) return;
29453 return_label1011: while(false);
29454 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction489].i] = 1;
29455 tracehead = trace.prev;
29456 return;
29457 }
29458 void parser___ReduceAction490___action(val_t self, val_t param0) {
29459 struct trace_t trace = {NULL, NULL, 16294, LOCATE_parser___ReduceAction490___action};
29460 val_t variable[17];
29461 void **closurevariable = NULL;
29462 trace.prev = tracehead; tracehead = &trace;
29463 trace.file = LOCATE_parser;
29464 variable[0] = self;
29465 variable[1] = param0;
29466 variable[3] = NIT_NULL /*null*/;
29467 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29468 variable[4] = variable[5];
29469 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29470 variable[5] = variable[6];
29471 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29472 variable[6] = variable[7];
29473 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29474 variable[7] = variable[8];
29475 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29476 variable[8] = variable[9];
29477 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29478 variable[9] = variable[10];
29479 variable[10] = variable[9] /*nodearraylist1*/;
29480 variable[11] = TAG_Bool(( variable[10] /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
29481 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction490___action, LOCATE_parser, 16304); nit_exit(1);}
29482 variable[11] = variable[8] /*nodearraylist2*/;
29483 variable[12] = TAG_Bool(( variable[11] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
29484 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction490___action, LOCATE_parser, 16306); nit_exit(1);}
29485 variable[12] = variable[7] /*nodearraylist3*/;
29486 variable[13] = TAG_Bool(( variable[12] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[12] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
29487 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction490___action, LOCATE_parser, 16308); nit_exit(1);}
29488 variable[13] = variable[6] /*nodearraylist4*/;
29489 variable[14] = TAG_Bool(( variable[13] /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
29490 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction490___action, LOCATE_parser, 16310); nit_exit(1);}
29491 variable[14] = variable[4] /*nodearraylist6*/;
29492 variable[15] = TAG_Bool(( variable[14] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29493 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction490___action, LOCATE_parser, 16312); nit_exit(1);}
29494 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*/
29495 variable[15] = variable[16];
29496 variable[3] = variable[15] /*pexprnode1*/ /*node_list=*/;
29497 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(88)) /*Parser::go_to*/;
29498 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
29499 return_label1012: while(false);
29500 tracehead = trace.prev;
29501 return;
29502 }
29503 void parser___ReduceAction490___init(val_t self, int* init_table) {
29504 struct trace_t trace = {NULL, NULL, 16323, LOCATE_parser___ReduceAction490___init};
29505 val_t variable[2];
29506 void **closurevariable = NULL;
29507 trace.prev = tracehead; tracehead = &trace;
29508 trace.file = LOCATE_parser;
29509 variable[0] = self;
29510 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction490].i]) return;
29511 return_label1013: while(false);
29512 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction490].i] = 1;
29513 tracehead = trace.prev;
29514 return;
29515 }
29516 void parser___ReduceAction491___action(val_t self, val_t param0) {
29517 struct trace_t trace = {NULL, NULL, 16327, LOCATE_parser___ReduceAction491___action};
29518 val_t variable[16];
29519 void **closurevariable = NULL;
29520 trace.prev = tracehead; tracehead = &trace;
29521 trace.file = LOCATE_parser;
29522 variable[0] = self;
29523 variable[1] = param0;
29524 variable[3] = NIT_NULL /*null*/;
29525 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29526 variable[4] = variable[5];
29527 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29528 variable[5] = variable[6];
29529 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29530 variable[6] = variable[7];
29531 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29532 variable[7] = variable[8];
29533 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29534 variable[8] = variable[9];
29535 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29536 variable[9] = variable[10];
29537 variable[10] = variable[9] /*nodearraylist1*/;
29538 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29539 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction491___action, LOCATE_parser, 16337); nit_exit(1);}
29540 variable[11] = variable[6] /*nodearraylist4*/;
29541 variable[12] = TAG_Bool(( variable[11] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
29542 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction491___action, LOCATE_parser, 16339); nit_exit(1);}
29543 variable[12] = variable[5] /*nodearraylist5*/;
29544 variable[13] = TAG_Bool(( variable[12] /*tassignnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tassignnode4*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
29545 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction491___action, LOCATE_parser, 16341); nit_exit(1);}
29546 variable[13] = variable[4] /*nodearraylist6*/;
29547 variable[14] = TAG_Bool(( variable[13] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29548 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction491___action, LOCATE_parser, 16343); nit_exit(1);}
29549 variable[15] = NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr( variable[10] /*pexprnode2*/, variable[11] /*tattridnode3*/, variable[12] /*tassignnode4*/, variable[13] /*pexprnode5*/); /*new AAttrAssignExpr*/
29550 variable[14] = variable[15];
29551 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
29552 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(89)) /*Parser::go_to*/;
29553 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
29554 return_label1014: while(false);
29555 tracehead = trace.prev;
29556 return;
29557 }
29558 void parser___ReduceAction491___init(val_t self, int* init_table) {
29559 struct trace_t trace = {NULL, NULL, 16353, LOCATE_parser___ReduceAction491___init};
29560 val_t variable[2];
29561 void **closurevariable = NULL;
29562 trace.prev = tracehead; tracehead = &trace;
29563 trace.file = LOCATE_parser;
29564 variable[0] = self;
29565 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction491].i]) return;
29566 return_label1015: while(false);
29567 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction491].i] = 1;
29568 tracehead = trace.prev;
29569 return;
29570 }
29571 void parser___ReduceAction492___action(val_t self, val_t param0) {
29572 struct trace_t trace = {NULL, NULL, 16357, LOCATE_parser___ReduceAction492___action};
29573 val_t variable[13];
29574 void **closurevariable = NULL;
29575 trace.prev = tracehead; tracehead = &trace;
29576 trace.file = LOCATE_parser;
29577 variable[0] = self;
29578 variable[1] = param0;
29579 variable[3] = NIT_NULL /*null*/;
29580 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29581 variable[4] = variable[5];
29582 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29583 variable[5] = variable[6];
29584 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29585 variable[6] = variable[7];
29586 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
29587 variable[7] = variable[8];
29588 variable[8] = variable[6] /*nodearraylist1*/;
29589 variable[9] = TAG_Bool(( variable[8] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
29590 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction492___action, LOCATE_parser, 16366); nit_exit(1);}
29591 variable[9] = variable[5] /*nodearraylist2*/;
29592 variable[10] = TAG_Bool(( variable[9] /*tassignnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*tassignnode4*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
29593 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction492___action, LOCATE_parser, 16368); nit_exit(1);}
29594 variable[10] = variable[4] /*nodearraylist3*/;
29595 variable[11] = TAG_Bool(( variable[10] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29596 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction492___action, LOCATE_parser, 16370); nit_exit(1);}
29597 variable[12] = NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr( variable[7] /*pexprnode2*/, variable[8] /*tattridnode3*/, variable[9] /*tassignnode4*/, variable[10] /*pexprnode5*/); /*new AAttrAssignExpr*/
29598 variable[11] = variable[12];
29599 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
29600 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(89)) /*Parser::go_to*/;
29601 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
29602 return_label1016: while(false);
29603 tracehead = trace.prev;
29604 return;
29605 }
29606 void parser___ReduceAction492___init(val_t self, int* init_table) {
29607 struct trace_t trace = {NULL, NULL, 16380, LOCATE_parser___ReduceAction492___init};
29608 val_t variable[2];
29609 void **closurevariable = NULL;
29610 trace.prev = tracehead; tracehead = &trace;
29611 trace.file = LOCATE_parser;
29612 variable[0] = self;
29613 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction492].i]) return;
29614 return_label1017: while(false);
29615 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction492].i] = 1;
29616 tracehead = trace.prev;
29617 return;
29618 }
29619 void parser___ReduceAction493___action(val_t self, val_t param0) {
29620 struct trace_t trace = {NULL, NULL, 16384, LOCATE_parser___ReduceAction493___action};
29621 val_t variable[19];
29622 void **closurevariable = NULL;
29623 trace.prev = tracehead; tracehead = &trace;
29624 trace.file = LOCATE_parser;
29625 variable[0] = self;
29626 variable[1] = param0;
29627 variable[3] = NIT_NULL /*null*/;
29628 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29629 variable[4] = variable[5];
29630 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29631 variable[5] = variable[6];
29632 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29633 variable[6] = variable[7];
29634 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29635 variable[7] = variable[8];
29636 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29637 variable[8] = variable[9];
29638 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29639 variable[9] = variable[10];
29640 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29641 variable[10] = variable[11];
29642 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29643 variable[11] = variable[12];
29644 variable[12] = variable[10] /*nodearraylist1*/;
29645 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29646 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction493___action, LOCATE_parser, 16396); nit_exit(1);}
29647 variable[13] = variable[7] /*nodearraylist4*/;
29648 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
29649 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction493___action, LOCATE_parser, 16398); nit_exit(1);}
29650 variable[14] = variable[6] /*nodearraylist5*/;
29651 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
29652 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction493___action, LOCATE_parser, 16400); nit_exit(1);}
29653 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
29654 if (UNTAG_Bool(variable[15])) { /*if*/
29655 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode5*/)( variable[11] /*listnode5*/) /*AbstractArray::is_empty*/;
29656 if (UNTAG_Bool(variable[15])) { /*if*/
29657 variable[11] = variable[14] /*listnode4*/ /*listnode5=*/;
29658 } else { /*if*/
29659 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode5*/)( variable[11] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
29660 }
29661 }
29662 variable[15] = variable[5] /*nodearraylist6*/;
29663 variable[16] = TAG_Bool(( variable[15] /*tassignnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*tassignnode6*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
29664 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction493___action, LOCATE_parser, 16409); nit_exit(1);}
29665 variable[16] = variable[4] /*nodearraylist7*/;
29666 variable[17] = TAG_Bool(( variable[16] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29667 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction493___action, LOCATE_parser, 16411); nit_exit(1);}
29668 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*/
29669 variable[17] = variable[18];
29670 variable[3] = variable[17] /*pexprnode1*/ /*node_list=*/;
29671 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(89)) /*Parser::go_to*/;
29672 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
29673 return_label1018: while(false);
29674 tracehead = trace.prev;
29675 return;
29676 }
29677 void parser___ReduceAction493___init(val_t self, int* init_table) {
29678 struct trace_t trace = {NULL, NULL, 16422, LOCATE_parser___ReduceAction493___init};
29679 val_t variable[2];
29680 void **closurevariable = NULL;
29681 trace.prev = tracehead; tracehead = &trace;
29682 trace.file = LOCATE_parser;
29683 variable[0] = self;
29684 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction493].i]) return;
29685 return_label1019: while(false);
29686 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction493].i] = 1;
29687 tracehead = trace.prev;
29688 return;
29689 }
29690 void parser___ReduceAction494___action(val_t self, val_t param0) {
29691 struct trace_t trace = {NULL, NULL, 16426, LOCATE_parser___ReduceAction494___action};
29692 val_t variable[16];
29693 void **closurevariable = NULL;
29694 trace.prev = tracehead; tracehead = &trace;
29695 trace.file = LOCATE_parser;
29696 variable[0] = self;
29697 variable[1] = param0;
29698 variable[3] = NIT_NULL /*null*/;
29699 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29700 variable[4] = variable[5];
29701 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29702 variable[5] = variable[6];
29703 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29704 variable[6] = variable[7];
29705 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29706 variable[7] = variable[8];
29707 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29708 variable[8] = variable[9];
29709 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
29710 variable[9] = variable[10];
29711 variable[10] = variable[7] /*nodearraylist1*/;
29712 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
29713 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction494___action, LOCATE_parser, 16437); nit_exit(1);}
29714 variable[11] = variable[6] /*nodearraylist2*/;
29715 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
29716 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction494___action, LOCATE_parser, 16439); nit_exit(1);}
29717 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
29718 if (UNTAG_Bool(variable[12])) { /*if*/
29719 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode5*/)( variable[8] /*listnode5*/) /*AbstractArray::is_empty*/;
29720 if (UNTAG_Bool(variable[12])) { /*if*/
29721 variable[8] = variable[11] /*listnode4*/ /*listnode5=*/;
29722 } else { /*if*/
29723 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode5*/)( variable[8] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
29724 }
29725 }
29726 variable[12] = variable[5] /*nodearraylist3*/;
29727 variable[13] = TAG_Bool(( variable[12] /*tassignnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*tassignnode6*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
29728 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction494___action, LOCATE_parser, 16448); nit_exit(1);}
29729 variable[13] = variable[4] /*nodearraylist4*/;
29730 variable[14] = TAG_Bool(( variable[13] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29731 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction494___action, LOCATE_parser, 16450); nit_exit(1);}
29732 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*/
29733 variable[14] = variable[15];
29734 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
29735 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(89)) /*Parser::go_to*/;
29736 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
29737 return_label1020: while(false);
29738 tracehead = trace.prev;
29739 return;
29740 }
29741 void parser___ReduceAction494___init(val_t self, int* init_table) {
29742 struct trace_t trace = {NULL, NULL, 16461, LOCATE_parser___ReduceAction494___init};
29743 val_t variable[2];
29744 void **closurevariable = NULL;
29745 trace.prev = tracehead; tracehead = &trace;
29746 trace.file = LOCATE_parser;
29747 variable[0] = self;
29748 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction494].i]) return;
29749 return_label1021: while(false);
29750 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction494].i] = 1;
29751 tracehead = trace.prev;
29752 return;
29753 }
29754 void parser___ReduceAction495___action(val_t self, val_t param0) {
29755 struct trace_t trace = {NULL, NULL, 16465, LOCATE_parser___ReduceAction495___action};
29756 val_t variable[15];
29757 void **closurevariable = NULL;
29758 trace.prev = tracehead; tracehead = &trace;
29759 trace.file = LOCATE_parser;
29760 variable[0] = self;
29761 variable[1] = param0;
29762 variable[3] = NIT_NULL /*null*/;
29763 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29764 variable[4] = variable[5];
29765 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29766 variable[5] = variable[6];
29767 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29768 variable[6] = variable[7];
29769 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29770 variable[7] = variable[8];
29771 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29772 variable[8] = variable[9];
29773 variable[9] = variable[7] /*nodearraylist1*/;
29774 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29775 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction495___action, LOCATE_parser, 16474); nit_exit(1);}
29776 variable[10] = variable[6] /*nodearraylist2*/;
29777 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
29778 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction495___action, LOCATE_parser, 16476); nit_exit(1);}
29779 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
29780 if (UNTAG_Bool(variable[11])) { /*if*/
29781 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode4*/)( variable[8] /*listnode4*/) /*AbstractArray::is_empty*/;
29782 if (UNTAG_Bool(variable[11])) { /*if*/
29783 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
29784 } else { /*if*/
29785 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
29786 }
29787 }
29788 variable[11] = variable[5] /*nodearraylist3*/;
29789 variable[12] = TAG_Bool(( variable[11] /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
29790 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction495___action, LOCATE_parser, 16485); nit_exit(1);}
29791 variable[12] = variable[4] /*nodearraylist4*/;
29792 variable[13] = TAG_Bool(( variable[12] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29793 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction495___action, LOCATE_parser, 16487); nit_exit(1);}
29794 variable[14] = NEW_ABraAssignExpr_parser_prod___ABraAssignExpr___init_abraassignexpr( variable[9] /*pexprnode2*/, variable[8] /*listnode4*/, variable[11] /*tassignnode5*/, variable[12] /*pexprnode6*/); /*new ABraAssignExpr*/
29795 variable[13] = variable[14];
29796 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
29797 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(89)) /*Parser::go_to*/;
29798 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
29799 return_label1022: while(false);
29800 tracehead = trace.prev;
29801 return;
29802 }
29803 void parser___ReduceAction495___init(val_t self, int* init_table) {
29804 struct trace_t trace = {NULL, NULL, 16497, LOCATE_parser___ReduceAction495___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(variable[0])->vft[INIT_TABLE_POS_ReduceAction495].i]) return;
29811 return_label1023: while(false);
29812 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction495].i] = 1;
29813 tracehead = trace.prev;
29814 return;
29815 }
29816 void parser___ReduceAction496___action(val_t self, val_t param0) {
29817 struct trace_t trace = {NULL, NULL, 16501, LOCATE_parser___ReduceAction496___action};
29818 val_t variable[16];
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] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29826 variable[4] = variable[5];
29827 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29828 variable[5] = variable[6];
29829 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29830 variable[6] = variable[7];
29831 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29832 variable[7] = variable[8];
29833 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29834 variable[8] = variable[9];
29835 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29836 variable[9] = variable[10];
29837 variable[10] = variable[9] /*nodearraylist1*/;
29838 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29839 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction496___action, LOCATE_parser, 16511); nit_exit(1);}
29840 variable[11] = variable[6] /*nodearraylist4*/;
29841 variable[12] = TAG_Bool(( variable[11] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
29842 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction496___action, LOCATE_parser, 16513); nit_exit(1);}
29843 variable[12] = variable[5] /*nodearraylist5*/;
29844 variable[13] = TAG_Bool(( variable[12] /*passignopnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*passignopnode4*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
29845 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction496___action, LOCATE_parser, 16515); nit_exit(1);}
29846 variable[13] = variable[4] /*nodearraylist6*/;
29847 variable[14] = TAG_Bool(( variable[13] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29848 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction496___action, LOCATE_parser, 16517); nit_exit(1);}
29849 variable[15] = NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr( variable[10] /*pexprnode2*/, variable[11] /*tattridnode3*/, variable[12] /*passignopnode4*/, variable[13] /*pexprnode5*/); /*new AAttrReassignExpr*/
29850 variable[14] = variable[15];
29851 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
29852 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(89)) /*Parser::go_to*/;
29853 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
29854 return_label1024: while(false);
29855 tracehead = trace.prev;
29856 return;
29857 }
29858 void parser___ReduceAction496___init(val_t self, int* init_table) {
29859 struct trace_t trace = {NULL, NULL, 16527, LOCATE_parser___ReduceAction496___init};
29860 val_t variable[2];
29861 void **closurevariable = NULL;
29862 trace.prev = tracehead; tracehead = &trace;
29863 trace.file = LOCATE_parser;
29864 variable[0] = self;
29865 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction496].i]) return;
29866 return_label1025: while(false);
29867 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction496].i] = 1;
29868 tracehead = trace.prev;
29869 return;
29870 }
29871 void parser___ReduceAction497___action(val_t self, val_t param0) {
29872 struct trace_t trace = {NULL, NULL, 16531, LOCATE_parser___ReduceAction497___action};
29873 val_t variable[13];
29874 void **closurevariable = NULL;
29875 trace.prev = tracehead; tracehead = &trace;
29876 trace.file = LOCATE_parser;
29877 variable[0] = self;
29878 variable[1] = param0;
29879 variable[3] = NIT_NULL /*null*/;
29880 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29881 variable[4] = variable[5];
29882 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29883 variable[5] = variable[6];
29884 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29885 variable[6] = variable[7];
29886 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
29887 variable[7] = variable[8];
29888 variable[8] = variable[6] /*nodearraylist1*/;
29889 variable[9] = TAG_Bool(( variable[8] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
29890 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction497___action, LOCATE_parser, 16540); nit_exit(1);}
29891 variable[9] = variable[5] /*nodearraylist2*/;
29892 variable[10] = TAG_Bool(( variable[9] /*passignopnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*passignopnode4*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
29893 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction497___action, LOCATE_parser, 16542); nit_exit(1);}
29894 variable[10] = variable[4] /*nodearraylist3*/;
29895 variable[11] = TAG_Bool(( variable[10] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29896 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction497___action, LOCATE_parser, 16544); nit_exit(1);}
29897 variable[12] = NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr( variable[7] /*pexprnode2*/, variable[8] /*tattridnode3*/, variable[9] /*passignopnode4*/, variable[10] /*pexprnode5*/); /*new AAttrReassignExpr*/
29898 variable[11] = variable[12];
29899 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
29900 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(89)) /*Parser::go_to*/;
29901 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
29902 return_label1026: while(false);
29903 tracehead = trace.prev;
29904 return;
29905 }
29906 void parser___ReduceAction497___init(val_t self, int* init_table) {
29907 struct trace_t trace = {NULL, NULL, 16554, LOCATE_parser___ReduceAction497___init};
29908 val_t variable[2];
29909 void **closurevariable = NULL;
29910 trace.prev = tracehead; tracehead = &trace;
29911 trace.file = LOCATE_parser;
29912 variable[0] = self;
29913 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction497].i]) return;
29914 return_label1027: while(false);
29915 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction497].i] = 1;
29916 tracehead = trace.prev;
29917 return;
29918 }
29919 void parser___ReduceAction498___action(val_t self, val_t param0) {
29920 struct trace_t trace = {NULL, NULL, 16558, LOCATE_parser___ReduceAction498___action};
29921 val_t variable[19];
29922 void **closurevariable = NULL;
29923 trace.prev = tracehead; tracehead = &trace;
29924 trace.file = LOCATE_parser;
29925 variable[0] = self;
29926 variable[1] = param0;
29927 variable[3] = NIT_NULL /*null*/;
29928 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29929 variable[4] = variable[5];
29930 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29931 variable[5] = variable[6];
29932 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29933 variable[6] = variable[7];
29934 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29935 variable[7] = variable[8];
29936 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29937 variable[8] = variable[9];
29938 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29939 variable[9] = variable[10];
29940 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29941 variable[10] = variable[11];
29942 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29943 variable[11] = variable[12];
29944 variable[12] = variable[10] /*nodearraylist1*/;
29945 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29946 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction498___action, LOCATE_parser, 16570); nit_exit(1);}
29947 variable[13] = variable[7] /*nodearraylist4*/;
29948 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
29949 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction498___action, LOCATE_parser, 16572); nit_exit(1);}
29950 variable[14] = variable[6] /*nodearraylist5*/;
29951 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
29952 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction498___action, LOCATE_parser, 16574); nit_exit(1);}
29953 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
29954 if (UNTAG_Bool(variable[15])) { /*if*/
29955 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode5*/)( variable[11] /*listnode5*/) /*AbstractArray::is_empty*/;
29956 if (UNTAG_Bool(variable[15])) { /*if*/
29957 variable[11] = variable[14] /*listnode4*/ /*listnode5=*/;
29958 } else { /*if*/
29959 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode5*/)( variable[11] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
29960 }
29961 }
29962 variable[15] = variable[5] /*nodearraylist6*/;
29963 variable[16] = TAG_Bool(( variable[15] /*passignopnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*passignopnode6*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
29964 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction498___action, LOCATE_parser, 16583); nit_exit(1);}
29965 variable[16] = variable[4] /*nodearraylist7*/;
29966 variable[17] = TAG_Bool(( variable[16] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29967 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction498___action, LOCATE_parser, 16585); nit_exit(1);}
29968 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*/
29969 variable[17] = variable[18];
29970 variable[3] = variable[17] /*pexprnode1*/ /*node_list=*/;
29971 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(89)) /*Parser::go_to*/;
29972 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
29973 return_label1028: while(false);
29974 tracehead = trace.prev;
29975 return;
29976 }
29977 void parser___ReduceAction498___init(val_t self, int* init_table) {
29978 struct trace_t trace = {NULL, NULL, 16596, LOCATE_parser___ReduceAction498___init};
29979 val_t variable[2];
29980 void **closurevariable = NULL;
29981 trace.prev = tracehead; tracehead = &trace;
29982 trace.file = LOCATE_parser;
29983 variable[0] = self;
29984 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction498].i]) return;
29985 return_label1029: while(false);
29986 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction498].i] = 1;
29987 tracehead = trace.prev;
29988 return;
29989 }
29990 void parser___ReduceAction499___action(val_t self, val_t param0) {
29991 struct trace_t trace = {NULL, NULL, 16600, LOCATE_parser___ReduceAction499___action};
29992 val_t variable[16];
29993 void **closurevariable = NULL;
29994 trace.prev = tracehead; tracehead = &trace;
29995 trace.file = LOCATE_parser;
29996 variable[0] = self;
29997 variable[1] = param0;
29998 variable[3] = NIT_NULL /*null*/;
29999 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30000 variable[4] = variable[5];
30001 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30002 variable[5] = variable[6];
30003 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30004 variable[6] = variable[7];
30005 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30006 variable[7] = variable[8];
30007 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30008 variable[8] = variable[9];
30009 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
30010 variable[9] = variable[10];
30011 variable[10] = variable[7] /*nodearraylist1*/;
30012 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
30013 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction499___action, LOCATE_parser, 16611); nit_exit(1);}
30014 variable[11] = variable[6] /*nodearraylist2*/;
30015 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30016 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction499___action, LOCATE_parser, 16613); nit_exit(1);}
30017 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
30018 if (UNTAG_Bool(variable[12])) { /*if*/
30019 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode5*/)( variable[8] /*listnode5*/) /*AbstractArray::is_empty*/;
30020 if (UNTAG_Bool(variable[12])) { /*if*/
30021 variable[8] = variable[11] /*listnode4*/ /*listnode5=*/;
30022 } else { /*if*/
30023 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode5*/)( variable[8] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
30024 }
30025 }
30026 variable[12] = variable[5] /*nodearraylist3*/;
30027 variable[13] = TAG_Bool(( variable[12] /*passignopnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*passignopnode6*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
30028 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction499___action, LOCATE_parser, 16622); nit_exit(1);}
30029 variable[13] = variable[4] /*nodearraylist4*/;
30030 variable[14] = TAG_Bool(( variable[13] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30031 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction499___action, LOCATE_parser, 16624); nit_exit(1);}
30032 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*/
30033 variable[14] = variable[15];
30034 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
30035 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(89)) /*Parser::go_to*/;
30036 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
30037 return_label1030: while(false);
30038 tracehead = trace.prev;
30039 return;
30040 }
30041 void parser___ReduceAction499___init(val_t self, int* init_table) {
30042 struct trace_t trace = {NULL, NULL, 16635, LOCATE_parser___ReduceAction499___init};
30043 val_t variable[2];
30044 void **closurevariable = NULL;
30045 trace.prev = tracehead; tracehead = &trace;
30046 trace.file = LOCATE_parser;
30047 variable[0] = self;
30048 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction499].i]) return;
30049 return_label1031: while(false);
30050 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction499].i] = 1;
30051 tracehead = trace.prev;
30052 return;
30053 }
30054 void parser___ReduceAction500___action(val_t self, val_t param0) {
30055 struct trace_t trace = {NULL, NULL, 16639, LOCATE_parser___ReduceAction500___action};
30056 val_t variable[15];
30057 void **closurevariable = NULL;
30058 trace.prev = tracehead; tracehead = &trace;
30059 trace.file = LOCATE_parser;
30060 variable[0] = self;
30061 variable[1] = param0;
30062 variable[3] = NIT_NULL /*null*/;
30063 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30064 variable[4] = variable[5];
30065 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30066 variable[5] = variable[6];
30067 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30068 variable[6] = variable[7];
30069 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30070 variable[7] = variable[8];
30071 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30072 variable[8] = variable[9];
30073 variable[9] = variable[7] /*nodearraylist1*/;
30074 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30075 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction500___action, LOCATE_parser, 16648); nit_exit(1);}
30076 variable[10] = variable[6] /*nodearraylist2*/;
30077 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30078 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction500___action, LOCATE_parser, 16650); nit_exit(1);}
30079 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
30080 if (UNTAG_Bool(variable[11])) { /*if*/
30081 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode4*/)( variable[8] /*listnode4*/) /*AbstractArray::is_empty*/;
30082 if (UNTAG_Bool(variable[11])) { /*if*/
30083 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
30084 } else { /*if*/
30085 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
30086 }
30087 }
30088 variable[11] = variable[5] /*nodearraylist3*/;
30089 variable[12] = TAG_Bool(( variable[11] /*passignopnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*passignopnode5*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
30090 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction500___action, LOCATE_parser, 16659); nit_exit(1);}
30091 variable[12] = variable[4] /*nodearraylist4*/;
30092 variable[13] = TAG_Bool(( variable[12] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30093 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction500___action, LOCATE_parser, 16661); nit_exit(1);}
30094 variable[14] = NEW_ABraReassignExpr_parser_prod___ABraReassignExpr___init_abrareassignexpr( variable[9] /*pexprnode2*/, variable[8] /*listnode4*/, variable[11] /*passignopnode5*/, variable[12] /*pexprnode6*/); /*new ABraReassignExpr*/
30095 variable[13] = variable[14];
30096 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
30097 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(89)) /*Parser::go_to*/;
30098 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
30099 return_label1032: while(false);
30100 tracehead = trace.prev;
30101 return;
30102 }
30103 void parser___ReduceAction500___init(val_t self, int* init_table) {
30104 struct trace_t trace = {NULL, NULL, 16671, LOCATE_parser___ReduceAction500___init};
30105 val_t variable[2];
30106 void **closurevariable = NULL;
30107 trace.prev = tracehead; tracehead = &trace;
30108 trace.file = LOCATE_parser;
30109 variable[0] = self;
30110 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction500].i]) return;
30111 return_label1033: while(false);
30112 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction500].i] = 1;
30113 tracehead = trace.prev;
30114 return;
30115 }
30116 void parser___ReduceAction501___action(val_t self, val_t param0) {
30117 struct trace_t trace = {NULL, NULL, 16675, LOCATE_parser___ReduceAction501___action};
30118 val_t variable[10];
30119 void **closurevariable = NULL;
30120 trace.prev = tracehead; tracehead = &trace;
30121 trace.file = LOCATE_parser;
30122 variable[0] = self;
30123 variable[1] = param0;
30124 variable[3] = NIT_NULL /*null*/;
30125 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30126 variable[4] = variable[5];
30127 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30128 variable[5] = variable[6];
30129 variable[6] = variable[5] /*nodearraylist1*/;
30130 variable[7] = TAG_Bool(( variable[6] /*tkwdonode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwdonode2*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
30131 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction501___action, LOCATE_parser, 16681); nit_exit(1);}
30132 variable[7] = variable[4] /*nodearraylist2*/;
30133 variable[8] = TAG_Bool(( variable[7] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30134 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction501___action, LOCATE_parser, 16683); nit_exit(1);}
30135 variable[9] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr( variable[6] /*tkwdonode2*/, variable[7] /*pexprnode3*/); /*new ADoExpr*/
30136 variable[8] = variable[9];
30137 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
30138 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(90)) /*Parser::go_to*/;
30139 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
30140 return_label1034: while(false);
30141 tracehead = trace.prev;
30142 return;
30143 }
30144 void parser___ReduceAction501___init(val_t self, int* init_table) {
30145 struct trace_t trace = {NULL, NULL, 16691, LOCATE_parser___ReduceAction501___init};
30146 val_t variable[2];
30147 void **closurevariable = NULL;
30148 trace.prev = tracehead; tracehead = &trace;
30149 trace.file = LOCATE_parser;
30150 variable[0] = self;
30151 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction501].i]) return;
30152 return_label1035: while(false);
30153 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction501].i] = 1;
30154 tracehead = trace.prev;
30155 return;
30156 }
30157 void parser___ReduceAction502___action(val_t self, val_t param0) {
30158 struct trace_t trace = {NULL, NULL, 16695, LOCATE_parser___ReduceAction502___action};
30159 val_t variable[18];
30160 void **closurevariable = NULL;
30161 trace.prev = tracehead; tracehead = &trace;
30162 trace.file = LOCATE_parser;
30163 variable[0] = self;
30164 variable[1] = param0;
30165 variable[3] = NIT_NULL /*null*/;
30166 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30167 variable[4] = variable[5];
30168 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30169 variable[5] = variable[6];
30170 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30171 variable[6] = variable[7];
30172 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30173 variable[7] = variable[8];
30174 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30175 variable[8] = variable[9];
30176 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30177 variable[9] = variable[10];
30178 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30179 variable[10] = variable[11];
30180 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30181 variable[11] = variable[12];
30182 variable[12] = variable[11] /*nodearraylist1*/;
30183 variable[13] = TAG_Bool(( variable[12] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
30184 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction502___action, LOCATE_parser, 16707); nit_exit(1);}
30185 variable[13] = variable[9] /*nodearraylist3*/;
30186 variable[14] = TAG_Bool(( variable[13] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30187 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction502___action, LOCATE_parser, 16709); nit_exit(1);}
30188 variable[14] = variable[6] /*nodearraylist6*/;
30189 variable[15] = TAG_Bool(( variable[14] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30190 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction502___action, LOCATE_parser, 16711); nit_exit(1);}
30191 variable[15] = variable[4] /*nodearraylist8*/;
30192 variable[16] = TAG_Bool(( variable[15] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30193 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction502___action, LOCATE_parser, 16713); nit_exit(1);}
30194 variable[17] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable[12] /*tkwifnode2*/, variable[13] /*pexprnode3*/, variable[14] /*pexprnode4*/, variable[15] /*pexprnode5*/); /*new AIfExpr*/
30195 variable[16] = variable[17];
30196 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
30197 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(91)) /*Parser::go_to*/;
30198 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
30199 return_label1036: while(false);
30200 tracehead = trace.prev;
30201 return;
30202 }
30203 void parser___ReduceAction502___init(val_t self, int* init_table) {
30204 struct trace_t trace = {NULL, NULL, 16723, LOCATE_parser___ReduceAction502___init};
30205 val_t variable[2];
30206 void **closurevariable = NULL;
30207 trace.prev = tracehead; tracehead = &trace;
30208 trace.file = LOCATE_parser;
30209 variable[0] = self;
30210 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction502].i]) return;
30211 return_label1037: while(false);
30212 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction502].i] = 1;
30213 tracehead = trace.prev;
30214 return;
30215 }
30216 void parser___ReduceAction503___action(val_t self, val_t param0) {
30217 struct trace_t trace = {NULL, NULL, 16727, LOCATE_parser___ReduceAction503___action};
30218 val_t variable[16];
30219 void **closurevariable = NULL;
30220 trace.prev = tracehead; tracehead = &trace;
30221 trace.file = LOCATE_parser;
30222 variable[0] = self;
30223 variable[1] = param0;
30224 variable[3] = NIT_NULL /*null*/;
30225 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30226 variable[4] = variable[5];
30227 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30228 variable[5] = variable[6];
30229 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30230 variable[6] = variable[7];
30231 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30232 variable[7] = variable[8];
30233 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30234 variable[8] = variable[9];
30235 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30236 variable[9] = variable[10];
30237 variable[10] = variable[9] /*nodearraylist1*/;
30238 variable[11] = TAG_Bool(( variable[10] /*tkwwhilenode2*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwwhilenode2*/, COLOR_TKwwhile, ID_TKwwhile)) /*cast TKwwhile*/;
30239 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction503___action, LOCATE_parser, 16737); nit_exit(1);}
30240 variable[11] = variable[7] /*nodearraylist3*/;
30241 variable[12] = TAG_Bool(( variable[11] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30242 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction503___action, LOCATE_parser, 16739); nit_exit(1);}
30243 variable[12] = variable[5] /*nodearraylist5*/;
30244 variable[13] = TAG_Bool(( variable[12] /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
30245 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction503___action, LOCATE_parser, 16741); nit_exit(1);}
30246 variable[13] = variable[4] /*nodearraylist6*/;
30247 variable[14] = TAG_Bool(( variable[13] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30248 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction503___action, LOCATE_parser, 16743); nit_exit(1);}
30249 variable[15] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr( variable[10] /*tkwwhilenode2*/, variable[11] /*pexprnode3*/, variable[12] /*tkwdonode4*/, variable[13] /*pexprnode5*/); /*new AWhileExpr*/
30250 variable[14] = variable[15];
30251 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
30252 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(92)) /*Parser::go_to*/;
30253 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
30254 return_label1038: while(false);
30255 tracehead = trace.prev;
30256 return;
30257 }
30258 void parser___ReduceAction503___init(val_t self, int* init_table) {
30259 struct trace_t trace = {NULL, NULL, 16753, LOCATE_parser___ReduceAction503___init};
30260 val_t variable[2];
30261 void **closurevariable = NULL;
30262 trace.prev = tracehead; tracehead = &trace;
30263 trace.file = LOCATE_parser;
30264 variable[0] = self;
30265 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction503].i]) return;
30266 return_label1039: while(false);
30267 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction503].i] = 1;
30268 tracehead = trace.prev;
30269 return;
30270 }
30271 void parser___ReduceAction504___action(val_t self, val_t param0) {
30272 struct trace_t trace = {NULL, NULL, 16757, LOCATE_parser___ReduceAction504___action};
30273 val_t variable[13];
30274 void **closurevariable = NULL;
30275 trace.prev = tracehead; tracehead = &trace;
30276 trace.file = LOCATE_parser;
30277 variable[0] = self;
30278 variable[1] = param0;
30279 variable[3] = NIT_NULL /*null*/;
30280 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30281 variable[4] = variable[5];
30282 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30283 variable[5] = variable[6];
30284 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30285 variable[6] = variable[7];
30286 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30287 variable[7] = variable[8];
30288 variable[8] = variable[7] /*nodearraylist1*/;
30289 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30290 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction504___action, LOCATE_parser, 16765); nit_exit(1);}
30291 variable[9] = variable[5] /*nodearraylist3*/;
30292 variable[10] = TAG_Bool(( variable[9] /*tkwdonode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwdonode3*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
30293 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction504___action, LOCATE_parser, 16767); nit_exit(1);}
30294 variable[10] = variable[4] /*nodearraylist4*/;
30295 variable[11] = TAG_Bool(( variable[10] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30296 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction504___action, LOCATE_parser, 16769); nit_exit(1);}
30297 variable[12] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr( variable[8] /*pexprnode2*/, variable[9] /*tkwdonode3*/, variable[10] /*pexprnode4*/); /*new AForExpr*/
30298 variable[11] = variable[12];
30299 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
30300 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(93)) /*Parser::go_to*/;
30301 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
30302 return_label1040: while(false);
30303 tracehead = trace.prev;
30304 return;
30305 }
30306 void parser___ReduceAction504___init(val_t self, int* init_table) {
30307 struct trace_t trace = {NULL, NULL, 16778, LOCATE_parser___ReduceAction504___init};
30308 val_t variable[2];
30309 void **closurevariable = NULL;
30310 trace.prev = tracehead; tracehead = &trace;
30311 trace.file = LOCATE_parser;
30312 variable[0] = self;
30313 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction504].i]) return;
30314 return_label1041: while(false);
30315 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction504].i] = 1;
30316 tracehead = trace.prev;
30317 return;
30318 }
30319 void parser___ReduceAction505___action(val_t self, val_t param0) {
30320 struct trace_t trace = {NULL, NULL, 16782, LOCATE_parser___ReduceAction505___action};
30321 val_t variable[10];
30322 void **closurevariable = NULL;
30323 trace.prev = tracehead; tracehead = &trace;
30324 trace.file = LOCATE_parser;
30325 variable[0] = self;
30326 variable[1] = param0;
30327 variable[3] = NIT_NULL /*null*/;
30328 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30329 variable[4] = variable[5];
30330 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30331 variable[5] = variable[6];
30332 variable[6] = variable[5] /*nodearraylist1*/;
30333 variable[7] = TAG_Bool(( variable[6] /*tkwassertnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwassertnode2*/, COLOR_TKwassert, ID_TKwassert)) /*cast TKwassert*/;
30334 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction505___action, LOCATE_parser, 16788); nit_exit(1);}
30335 variable[7] = variable[4] /*nodearraylist2*/;
30336 variable[8] = TAG_Bool(( variable[7] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30337 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction505___action, LOCATE_parser, 16790); nit_exit(1);}
30338 variable[9] = NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr( variable[6] /*tkwassertnode2*/, NIT_NULL /*null*/, variable[7] /*pexprnode4*/); /*new AAssertExpr*/
30339 variable[8] = variable[9];
30340 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
30341 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(94)) /*Parser::go_to*/;
30342 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
30343 return_label1042: while(false);
30344 tracehead = trace.prev;
30345 return;
30346 }
30347 void parser___ReduceAction505___init(val_t self, int* init_table) {
30348 struct trace_t trace = {NULL, NULL, 16799, LOCATE_parser___ReduceAction505___init};
30349 val_t variable[2];
30350 void **closurevariable = NULL;
30351 trace.prev = tracehead; tracehead = &trace;
30352 trace.file = LOCATE_parser;
30353 variable[0] = self;
30354 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction505].i]) return;
30355 return_label1043: while(false);
30356 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction505].i] = 1;
30357 tracehead = trace.prev;
30358 return;
30359 }
30360 void parser___ReduceAction506___action(val_t self, val_t param0) {
30361 struct trace_t trace = {NULL, NULL, 16803, LOCATE_parser___ReduceAction506___action};
30362 val_t variable[12];
30363 void **closurevariable = NULL;
30364 trace.prev = tracehead; tracehead = &trace;
30365 trace.file = LOCATE_parser;
30366 variable[0] = self;
30367 variable[1] = param0;
30368 variable[3] = NIT_NULL /*null*/;
30369 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30370 variable[4] = variable[5];
30371 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30372 variable[5] = variable[6];
30373 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30374 variable[6] = variable[7];
30375 variable[7] = variable[6] /*nodearraylist1*/;
30376 variable[8] = TAG_Bool(( variable[7] /*tkwassertnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwassertnode2*/, COLOR_TKwassert, ID_TKwassert)) /*cast TKwassert*/;
30377 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction506___action, LOCATE_parser, 16810); nit_exit(1);}
30378 variable[8] = variable[5] /*nodearraylist2*/;
30379 variable[9] = TAG_Bool(( variable[8] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
30380 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction506___action, LOCATE_parser, 16812); nit_exit(1);}
30381 variable[9] = variable[4] /*nodearraylist3*/;
30382 variable[10] = TAG_Bool(( variable[9] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30383 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction506___action, LOCATE_parser, 16814); nit_exit(1);}
30384 variable[11] = NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr( variable[7] /*tkwassertnode2*/, variable[8] /*tidnode3*/, variable[9] /*pexprnode4*/); /*new AAssertExpr*/
30385 variable[10] = variable[11];
30386 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
30387 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(94)) /*Parser::go_to*/;
30388 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
30389 return_label1044: while(false);
30390 tracehead = trace.prev;
30391 return;
30392 }
30393 void parser___ReduceAction506___init(val_t self, int* init_table) {
30394 struct trace_t trace = {NULL, NULL, 16823, LOCATE_parser___ReduceAction506___init};
30395 val_t variable[2];
30396 void **closurevariable = NULL;
30397 trace.prev = tracehead; tracehead = &trace;
30398 trace.file = LOCATE_parser;
30399 variable[0] = self;
30400 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction506].i]) return;
30401 return_label1045: while(false);
30402 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction506].i] = 1;
30403 tracehead = trace.prev;
30404 return;
30405 }
30406 void parser___ReduceAction507___action(val_t self, val_t param0) {
30407 struct trace_t trace = {NULL, NULL, 16827, LOCATE_parser___ReduceAction507___action};
30408 val_t variable[7];
30409 void **closurevariable = NULL;
30410 trace.prev = tracehead; tracehead = &trace;
30411 trace.file = LOCATE_parser;
30412 variable[0] = self;
30413 variable[1] = param0;
30414 variable[3] = NIT_NULL /*null*/;
30415 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30416 variable[4] = variable[5];
30417 variable[5] = variable[4] /*nodearraylist1*/;
30418 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30419 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction507___action, LOCATE_parser, 16832); nit_exit(1);}
30420 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
30421 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(95)) /*Parser::go_to*/;
30422 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
30423 return_label1046: while(false);
30424 tracehead = trace.prev;
30425 return;
30426 }
30427 void parser___ReduceAction507___init(val_t self, int* init_table) {
30428 struct trace_t trace = {NULL, NULL, 16836, LOCATE_parser___ReduceAction507___init};
30429 val_t variable[2];
30430 void **closurevariable = NULL;
30431 trace.prev = tracehead; tracehead = &trace;
30432 trace.file = LOCATE_parser;
30433 variable[0] = self;
30434 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction507].i]) return;
30435 return_label1047: while(false);
30436 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction507].i] = 1;
30437 tracehead = trace.prev;
30438 return;
30439 }
30440 void parser___ReduceAction508___action(val_t self, val_t param0) {
30441 struct trace_t trace = {NULL, NULL, 16840, LOCATE_parser___ReduceAction508___action};
30442 val_t variable[18];
30443 void **closurevariable = NULL;
30444 trace.prev = tracehead; tracehead = &trace;
30445 trace.file = LOCATE_parser;
30446 variable[0] = self;
30447 variable[1] = param0;
30448 variable[3] = NIT_NULL /*null*/;
30449 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30450 variable[4] = variable[5];
30451 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30452 variable[5] = variable[6];
30453 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30454 variable[6] = variable[7];
30455 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30456 variable[7] = variable[8];
30457 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30458 variable[8] = variable[9];
30459 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30460 variable[9] = variable[10];
30461 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30462 variable[10] = variable[11];
30463 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30464 variable[11] = variable[12];
30465 variable[12] = variable[9] /*nodearraylist1*/;
30466 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30467 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction508___action, LOCATE_parser, 16852); nit_exit(1);}
30468 variable[13] = variable[6] /*nodearraylist4*/;
30469 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
30470 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction508___action, LOCATE_parser, 16854); nit_exit(1);}
30471 variable[14] = variable[5] /*nodearraylist5*/;
30472 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30473 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction508___action, LOCATE_parser, 16856); nit_exit(1);}
30474 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
30475 if (UNTAG_Bool(variable[15])) { /*if*/
30476 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode5*/)( variable[10] /*listnode5*/) /*AbstractArray::is_empty*/;
30477 if (UNTAG_Bool(variable[15])) { /*if*/
30478 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
30479 } else { /*if*/
30480 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode5*/)( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
30481 }
30482 }
30483 variable[15] = variable[4] /*nodearraylist6*/;
30484 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30485 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction508___action, LOCATE_parser, 16865); nit_exit(1);}
30486 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*listnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*listnode6*/)( variable[15] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
30487 if (UNTAG_Bool(variable[16])) { /*if*/
30488 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode7*/)( variable[11] /*listnode7*/) /*AbstractArray::is_empty*/;
30489 if (UNTAG_Bool(variable[16])) { /*if*/
30490 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
30491 } else { /*if*/
30492 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
30493 }
30494 }
30495 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/); /*new ACallExpr*/
30496 variable[16] = variable[17];
30497 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
30498 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(95)) /*Parser::go_to*/;
30499 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
30500 return_label1048: while(false);
30501 tracehead = trace.prev;
30502 return;
30503 }
30504 void parser___ReduceAction508___init(val_t self, int* init_table) {
30505 struct trace_t trace = {NULL, NULL, 16882, LOCATE_parser___ReduceAction508___init};
30506 val_t variable[2];
30507 void **closurevariable = NULL;
30508 trace.prev = tracehead; tracehead = &trace;
30509 trace.file = LOCATE_parser;
30510 variable[0] = self;
30511 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction508].i]) return;
30512 return_label1049: while(false);
30513 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction508].i] = 1;
30514 tracehead = trace.prev;
30515 return;
30516 }
30517 void parser___ReduceAction509___action(val_t self, val_t param0) {
30518 struct trace_t trace = {NULL, NULL, 16886, LOCATE_parser___ReduceAction509___action};
30519 val_t variable[15];
30520 void **closurevariable = NULL;
30521 trace.prev = tracehead; tracehead = &trace;
30522 trace.file = LOCATE_parser;
30523 variable[0] = self;
30524 variable[1] = param0;
30525 variable[3] = NIT_NULL /*null*/;
30526 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30527 variable[4] = variable[5];
30528 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30529 variable[5] = variable[6];
30530 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30531 variable[6] = variable[7];
30532 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30533 variable[7] = variable[8];
30534 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30535 variable[8] = variable[9];
30536 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
30537 variable[9] = variable[10];
30538 variable[10] = variable[6] /*nodearraylist1*/;
30539 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
30540 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction509___action, LOCATE_parser, 16897); nit_exit(1);}
30541 variable[11] = variable[5] /*nodearraylist2*/;
30542 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30543 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction509___action, LOCATE_parser, 16899); nit_exit(1);}
30544 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
30545 if (UNTAG_Bool(variable[12])) { /*if*/
30546 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
30547 if (UNTAG_Bool(variable[12])) { /*if*/
30548 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
30549 } else { /*if*/
30550 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
30551 }
30552 }
30553 variable[12] = variable[4] /*nodearraylist3*/;
30554 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30555 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction509___action, LOCATE_parser, 16908); nit_exit(1);}
30556 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode6*/)( variable[12] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
30557 if (UNTAG_Bool(variable[13])) { /*if*/
30558 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode7*/)( variable[8] /*listnode7*/) /*AbstractArray::is_empty*/;
30559 if (UNTAG_Bool(variable[13])) { /*if*/
30560 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
30561 } else { /*if*/
30562 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode7*/)( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
30563 }
30564 }
30565 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/); /*new ACallExpr*/
30566 variable[13] = variable[14];
30567 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
30568 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(95)) /*Parser::go_to*/;
30569 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
30570 return_label1050: while(false);
30571 tracehead = trace.prev;
30572 return;
30573 }
30574 void parser___ReduceAction509___init(val_t self, int* init_table) {
30575 struct trace_t trace = {NULL, NULL, 16925, LOCATE_parser___ReduceAction509___init};
30576 val_t variable[2];
30577 void **closurevariable = NULL;
30578 trace.prev = tracehead; tracehead = &trace;
30579 trace.file = LOCATE_parser;
30580 variable[0] = self;
30581 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction509].i]) return;
30582 return_label1051: while(false);
30583 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction509].i] = 1;
30584 tracehead = trace.prev;
30585 return;
30586 }
30587 void parser___ReduceAction510___action(val_t self, val_t param0) {
30588 struct trace_t trace = {NULL, NULL, 16929, LOCATE_parser___ReduceAction510___action};
30589 val_t variable[14];
30590 void **closurevariable = NULL;
30591 trace.prev = tracehead; tracehead = &trace;
30592 trace.file = LOCATE_parser;
30593 variable[0] = self;
30594 variable[1] = param0;
30595 variable[3] = NIT_NULL /*null*/;
30596 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30597 variable[4] = variable[5];
30598 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30599 variable[5] = variable[6];
30600 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30601 variable[6] = variable[7];
30602 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30603 variable[7] = variable[8];
30604 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30605 variable[8] = variable[9];
30606 variable[9] = variable[6] /*nodearraylist1*/;
30607 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30608 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction510___action, LOCATE_parser, 16938); nit_exit(1);}
30609 variable[10] = variable[5] /*nodearraylist2*/;
30610 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30611 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction510___action, LOCATE_parser, 16940); nit_exit(1);}
30612 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
30613 if (UNTAG_Bool(variable[11])) { /*if*/
30614 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode4*/)( variable[7] /*listnode4*/) /*AbstractArray::is_empty*/;
30615 if (UNTAG_Bool(variable[11])) { /*if*/
30616 variable[7] = variable[10] /*listnode3*/ /*listnode4=*/;
30617 } else { /*if*/
30618 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode4*/)( variable[7] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
30619 }
30620 }
30621 variable[11] = variable[4] /*nodearraylist3*/;
30622 variable[12] = TAG_Bool(( variable[11] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30623 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction510___action, LOCATE_parser, 16949); nit_exit(1);}
30624 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode5*/)( variable[11] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
30625 if (UNTAG_Bool(variable[12])) { /*if*/
30626 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode6*/)( variable[8] /*listnode6*/) /*AbstractArray::is_empty*/;
30627 if (UNTAG_Bool(variable[12])) { /*if*/
30628 variable[8] = variable[11] /*listnode5*/ /*listnode6=*/;
30629 } else { /*if*/
30630 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[11] /*listnode5*/) /*IndexedCollection::append*/;
30631 }
30632 }
30633 variable[13] = NEW_ABraExpr_parser_prod___ABraExpr___init_abraexpr( variable[9] /*pexprnode2*/, variable[7] /*listnode4*/, variable[8] /*listnode6*/); /*new ABraExpr*/
30634 variable[12] = variable[13];
30635 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
30636 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(95)) /*Parser::go_to*/;
30637 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
30638 return_label1052: while(false);
30639 tracehead = trace.prev;
30640 return;
30641 }
30642 void parser___ReduceAction510___init(val_t self, int* init_table) {
30643 struct trace_t trace = {NULL, NULL, 16965, LOCATE_parser___ReduceAction510___init};
30644 val_t variable[2];
30645 void **closurevariable = NULL;
30646 trace.prev = tracehead; tracehead = &trace;
30647 trace.file = LOCATE_parser;
30648 variable[0] = self;
30649 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction510].i]) return;
30650 return_label1053: while(false);
30651 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction510].i] = 1;
30652 tracehead = trace.prev;
30653 return;
30654 }
30655 void parser___ReduceAction511___action(val_t self, val_t param0) {
30656 struct trace_t trace = {NULL, NULL, 16969, LOCATE_parser___ReduceAction511___action};
30657 val_t variable[7];
30658 void **closurevariable = NULL;
30659 trace.prev = tracehead; tracehead = &trace;
30660 trace.file = LOCATE_parser;
30661 variable[0] = self;
30662 variable[1] = param0;
30663 variable[3] = NIT_NULL /*null*/;
30664 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30665 variable[4] = variable[5];
30666 variable[5] = variable[4] /*nodearraylist1*/;
30667 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30668 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction511___action, LOCATE_parser, 16974); nit_exit(1);}
30669 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
30670 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(96)) /*Parser::go_to*/;
30671 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
30672 return_label1054: while(false);
30673 tracehead = trace.prev;
30674 return;
30675 }
30676 void parser___ReduceAction511___init(val_t self, int* init_table) {
30677 struct trace_t trace = {NULL, NULL, 16978, LOCATE_parser___ReduceAction511___init};
30678 val_t variable[2];
30679 void **closurevariable = NULL;
30680 trace.prev = tracehead; tracehead = &trace;
30681 trace.file = LOCATE_parser;
30682 variable[0] = self;
30683 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction511].i]) return;
30684 return_label1055: while(false);
30685 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction511].i] = 1;
30686 tracehead = trace.prev;
30687 return;
30688 }
30689 void parser___ReduceAction512___action(val_t self, val_t param0) {
30690 struct trace_t trace = {NULL, NULL, 16982, LOCATE_parser___ReduceAction512___action};
30691 val_t variable[18];
30692 void **closurevariable = NULL;
30693 trace.prev = tracehead; tracehead = &trace;
30694 trace.file = LOCATE_parser;
30695 variable[0] = self;
30696 variable[1] = param0;
30697 variable[3] = NIT_NULL /*null*/;
30698 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30699 variable[4] = variable[5];
30700 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30701 variable[5] = variable[6];
30702 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30703 variable[6] = variable[7];
30704 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30705 variable[7] = variable[8];
30706 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30707 variable[8] = variable[9];
30708 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30709 variable[9] = variable[10];
30710 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30711 variable[10] = variable[11];
30712 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30713 variable[11] = variable[12];
30714 variable[12] = variable[9] /*nodearraylist1*/;
30715 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30716 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction512___action, LOCATE_parser, 16994); nit_exit(1);}
30717 variable[13] = variable[6] /*nodearraylist4*/;
30718 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
30719 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction512___action, LOCATE_parser, 16996); nit_exit(1);}
30720 variable[14] = variable[5] /*nodearraylist5*/;
30721 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30722 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction512___action, LOCATE_parser, 16998); nit_exit(1);}
30723 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
30724 if (UNTAG_Bool(variable[15])) { /*if*/
30725 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode5*/)( variable[10] /*listnode5*/) /*AbstractArray::is_empty*/;
30726 if (UNTAG_Bool(variable[15])) { /*if*/
30727 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
30728 } else { /*if*/
30729 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode5*/)( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
30730 }
30731 }
30732 variable[15] = variable[4] /*nodearraylist6*/;
30733 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30734 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction512___action, LOCATE_parser, 17007); nit_exit(1);}
30735 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*listnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*listnode6*/)( variable[15] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
30736 if (UNTAG_Bool(variable[16])) { /*if*/
30737 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode7*/)( variable[11] /*listnode7*/) /*AbstractArray::is_empty*/;
30738 if (UNTAG_Bool(variable[16])) { /*if*/
30739 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
30740 } else { /*if*/
30741 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
30742 }
30743 }
30744 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/); /*new ACallExpr*/
30745 variable[16] = variable[17];
30746 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
30747 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(96)) /*Parser::go_to*/;
30748 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
30749 return_label1056: while(false);
30750 tracehead = trace.prev;
30751 return;
30752 }
30753 void parser___ReduceAction512___init(val_t self, int* init_table) {
30754 struct trace_t trace = {NULL, NULL, 17024, LOCATE_parser___ReduceAction512___init};
30755 val_t variable[2];
30756 void **closurevariable = NULL;
30757 trace.prev = tracehead; tracehead = &trace;
30758 trace.file = LOCATE_parser;
30759 variable[0] = self;
30760 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction512].i]) return;
30761 return_label1057: while(false);
30762 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction512].i] = 1;
30763 tracehead = trace.prev;
30764 return;
30765 }
30766 void parser___ReduceAction513___action(val_t self, val_t param0) {
30767 struct trace_t trace = {NULL, NULL, 17028, LOCATE_parser___ReduceAction513___action};
30768 val_t variable[15];
30769 void **closurevariable = NULL;
30770 trace.prev = tracehead; tracehead = &trace;
30771 trace.file = LOCATE_parser;
30772 variable[0] = self;
30773 variable[1] = param0;
30774 variable[3] = NIT_NULL /*null*/;
30775 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30776 variable[4] = variable[5];
30777 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30778 variable[5] = variable[6];
30779 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30780 variable[6] = variable[7];
30781 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30782 variable[7] = variable[8];
30783 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30784 variable[8] = variable[9];
30785 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
30786 variable[9] = variable[10];
30787 variable[10] = variable[6] /*nodearraylist1*/;
30788 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
30789 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction513___action, LOCATE_parser, 17039); nit_exit(1);}
30790 variable[11] = variable[5] /*nodearraylist2*/;
30791 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30792 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction513___action, LOCATE_parser, 17041); nit_exit(1);}
30793 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
30794 if (UNTAG_Bool(variable[12])) { /*if*/
30795 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
30796 if (UNTAG_Bool(variable[12])) { /*if*/
30797 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
30798 } else { /*if*/
30799 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
30800 }
30801 }
30802 variable[12] = variable[4] /*nodearraylist3*/;
30803 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30804 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction513___action, LOCATE_parser, 17050); nit_exit(1);}
30805 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode6*/)( variable[12] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
30806 if (UNTAG_Bool(variable[13])) { /*if*/
30807 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode7*/)( variable[8] /*listnode7*/) /*AbstractArray::is_empty*/;
30808 if (UNTAG_Bool(variable[13])) { /*if*/
30809 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
30810 } else { /*if*/
30811 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode7*/)( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
30812 }
30813 }
30814 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/); /*new ACallExpr*/
30815 variable[13] = variable[14];
30816 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
30817 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(96)) /*Parser::go_to*/;
30818 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
30819 return_label1058: while(false);
30820 tracehead = trace.prev;
30821 return;
30822 }
30823 void parser___ReduceAction513___init(val_t self, int* init_table) {
30824 struct trace_t trace = {NULL, NULL, 17067, LOCATE_parser___ReduceAction513___init};
30825 val_t variable[2];
30826 void **closurevariable = NULL;
30827 trace.prev = tracehead; tracehead = &trace;
30828 trace.file = LOCATE_parser;
30829 variable[0] = self;
30830 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction513].i]) return;
30831 return_label1059: while(false);
30832 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction513].i] = 1;
30833 tracehead = trace.prev;
30834 return;
30835 }
30836 void parser___ReduceAction514___action(val_t self, val_t param0) {
30837 struct trace_t trace = {NULL, NULL, 17071, LOCATE_parser___ReduceAction514___action};
30838 val_t variable[9];
30839 void **closurevariable = NULL;
30840 trace.prev = tracehead; tracehead = &trace;
30841 trace.file = LOCATE_parser;
30842 variable[0] = self;
30843 variable[1] = param0;
30844 variable[3] = NIT_NULL /*null*/;
30845 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30846 variable[4] = variable[5];
30847 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30848 variable[5] = variable[6];
30849 variable[6] = variable[4] /*nodearraylist1*/;
30850 variable[7] = TAG_Bool(( variable[6] /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
30851 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction514___action, LOCATE_parser, 17077); nit_exit(1);}
30852 variable[8] = NEW_AType_parser_prod___AType___init_atype( variable[6] /*tclassidnode2*/, variable[5] /*listnode3*/); /*new AType*/
30853 variable[7] = variable[8];
30854 variable[3] = variable[7] /*ptypenode1*/ /*node_list=*/;
30855 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(97)) /*Parser::go_to*/;
30856 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
30857 return_label1060: while(false);
30858 tracehead = trace.prev;
30859 return;
30860 }
30861 void parser___ReduceAction514___init(val_t self, int* init_table) {
30862 struct trace_t trace = {NULL, NULL, 17085, LOCATE_parser___ReduceAction514___init};
30863 val_t variable[2];
30864 void **closurevariable = NULL;
30865 trace.prev = tracehead; tracehead = &trace;
30866 trace.file = LOCATE_parser;
30867 variable[0] = self;
30868 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction514].i]) return;
30869 return_label1061: while(false);
30870 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction514].i] = 1;
30871 tracehead = trace.prev;
30872 return;
30873 }
30874 void parser___ReduceAction515___action(val_t self, val_t param0) {
30875 struct trace_t trace = {NULL, NULL, 17089, LOCATE_parser___ReduceAction515___action};
30876 val_t variable[15];
30877 void **closurevariable = NULL;
30878 trace.prev = tracehead; tracehead = &trace;
30879 trace.file = LOCATE_parser;
30880 variable[0] = self;
30881 variable[1] = param0;
30882 variable[3] = NIT_NULL /*null*/;
30883 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30884 variable[4] = variable[5];
30885 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30886 variable[5] = variable[6];
30887 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30888 variable[6] = variable[7];
30889 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30890 variable[7] = variable[8];
30891 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30892 variable[8] = variable[9];
30893 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30894 variable[9] = variable[10];
30895 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30896 variable[10] = variable[11];
30897 variable[11] = variable[9] /*nodearraylist1*/;
30898 variable[12] = TAG_Bool(( variable[11] /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
30899 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction515___action, LOCATE_parser, 17100); nit_exit(1);}
30900 variable[12] = variable[6] /*nodearraylist4*/;
30901 variable[13] = TAG_Bool(( variable[12] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30902 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction515___action, LOCATE_parser, 17102); nit_exit(1);}
30903 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode3*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode3*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode3*/)( variable[12] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
30904 if (UNTAG_Bool(variable[13])) { /*if*/
30905 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode4*/)( variable[10] /*listnode4*/) /*AbstractArray::is_empty*/;
30906 if (UNTAG_Bool(variable[13])) { /*if*/
30907 variable[10] = variable[12] /*listnode3*/ /*listnode4=*/;
30908 } else { /*if*/
30909 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, variable[12] /*listnode3*/) /*IndexedCollection::append*/;
30910 }
30911 }
30912 variable[14] = NEW_AType_parser_prod___AType___init_atype( variable[11] /*tclassidnode2*/, variable[10] /*listnode4*/); /*new AType*/
30913 variable[13] = variable[14];
30914 variable[3] = variable[13] /*ptypenode1*/ /*node_list=*/;
30915 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(97)) /*Parser::go_to*/;
30916 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
30917 return_label1062: while(false);
30918 tracehead = trace.prev;
30919 return;
30920 }
30921 void parser___ReduceAction515___init(val_t self, int* init_table) {
30922 struct trace_t trace = {NULL, NULL, 17117, LOCATE_parser___ReduceAction515___init};
30923 val_t variable[2];
30924 void **closurevariable = NULL;
30925 trace.prev = tracehead; tracehead = &trace;
30926 trace.file = LOCATE_parser;
30927 variable[0] = self;
30928 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction515].i]) return;
30929 return_label1063: while(false);
30930 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction515].i] = 1;
30931 tracehead = trace.prev;
30932 return;
30933 }
30934 void parser___ReduceAction516___action(val_t self, val_t param0) {
30935 struct trace_t trace = {NULL, NULL, 17121, LOCATE_parser___ReduceAction516___action};
30936 val_t variable[7];
30937 void **closurevariable = NULL;
30938 trace.prev = tracehead; tracehead = &trace;
30939 trace.file = LOCATE_parser;
30940 variable[0] = self;
30941 variable[1] = param0;
30942 variable[3] = NIT_NULL /*null*/;
30943 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30944 variable[4] = variable[5];
30945 variable[5] = variable[4] /*nodearraylist1*/;
30946 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30947 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction516___action, LOCATE_parser, 17126); nit_exit(1);}
30948 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
30949 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(98)) /*Parser::go_to*/;
30950 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
30951 return_label1064: while(false);
30952 tracehead = trace.prev;
30953 return;
30954 }
30955 void parser___ReduceAction516___init(val_t self, int* init_table) {
30956 struct trace_t trace = {NULL, NULL, 17130, LOCATE_parser___ReduceAction516___init};
30957 val_t variable[2];
30958 void **closurevariable = NULL;
30959 trace.prev = tracehead; tracehead = &trace;
30960 trace.file = LOCATE_parser;
30961 variable[0] = self;
30962 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction516].i]) return;
30963 return_label1065: while(false);
30964 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction516].i] = 1;
30965 tracehead = trace.prev;
30966 return;
30967 }
30968 void parser___ReduceAction517___action(val_t self, val_t param0) {
30969 struct trace_t trace = {NULL, NULL, 17134, LOCATE_parser___ReduceAction517___action};
30970 val_t variable[18];
30971 void **closurevariable = NULL;
30972 trace.prev = tracehead; tracehead = &trace;
30973 trace.file = LOCATE_parser;
30974 variable[0] = self;
30975 variable[1] = param0;
30976 variable[3] = NIT_NULL /*null*/;
30977 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30978 variable[4] = variable[5];
30979 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30980 variable[5] = variable[6];
30981 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30982 variable[6] = variable[7];
30983 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30984 variable[7] = variable[8];
30985 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30986 variable[8] = variable[9];
30987 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30988 variable[9] = variable[10];
30989 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30990 variable[10] = variable[11];
30991 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30992 variable[11] = variable[12];
30993 variable[12] = variable[9] /*nodearraylist1*/;
30994 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30995 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction517___action, LOCATE_parser, 17146); nit_exit(1);}
30996 variable[13] = variable[6] /*nodearraylist4*/;
30997 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
30998 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction517___action, LOCATE_parser, 17148); nit_exit(1);}
30999 variable[14] = variable[5] /*nodearraylist5*/;
31000 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
31001 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction517___action, LOCATE_parser, 17150); nit_exit(1);}
31002 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
31003 if (UNTAG_Bool(variable[15])) { /*if*/
31004 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode5*/)( variable[10] /*listnode5*/) /*AbstractArray::is_empty*/;
31005 if (UNTAG_Bool(variable[15])) { /*if*/
31006 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
31007 } else { /*if*/
31008 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode5*/)( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
31009 }
31010 }
31011 variable[15] = variable[4] /*nodearraylist6*/;
31012 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
31013 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction517___action, LOCATE_parser, 17159); nit_exit(1);}
31014 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*listnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*listnode6*/)( variable[15] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
31015 if (UNTAG_Bool(variable[16])) { /*if*/
31016 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode7*/)( variable[11] /*listnode7*/) /*AbstractArray::is_empty*/;
31017 if (UNTAG_Bool(variable[16])) { /*if*/
31018 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
31019 } else { /*if*/
31020 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
31021 }
31022 }
31023 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/); /*new ACallExpr*/
31024 variable[16] = variable[17];
31025 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
31026 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(98)) /*Parser::go_to*/;
31027 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
31028 return_label1066: while(false);
31029 tracehead = trace.prev;
31030 return;
31031 }
31032 void parser___ReduceAction517___init(val_t self, int* init_table) {
31033 struct trace_t trace = {NULL, NULL, 17176, LOCATE_parser___ReduceAction517___init};
31034 val_t variable[2];
31035 void **closurevariable = NULL;
31036 trace.prev = tracehead; tracehead = &trace;
31037 trace.file = LOCATE_parser;
31038 variable[0] = self;
31039 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction517].i]) return;
31040 return_label1067: while(false);
31041 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction517].i] = 1;
31042 tracehead = trace.prev;
31043 return;
31044 }
31045 void parser___ReduceAction518___action(val_t self, val_t param0) {
31046 struct trace_t trace = {NULL, NULL, 17180, LOCATE_parser___ReduceAction518___action};
31047 val_t variable[15];
31048 void **closurevariable = NULL;
31049 trace.prev = tracehead; tracehead = &trace;
31050 trace.file = LOCATE_parser;
31051 variable[0] = self;
31052 variable[1] = param0;
31053 variable[3] = NIT_NULL /*null*/;
31054 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31055 variable[4] = variable[5];
31056 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31057 variable[5] = variable[6];
31058 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31059 variable[6] = variable[7];
31060 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
31061 variable[7] = variable[8];
31062 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
31063 variable[8] = variable[9];
31064 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
31065 variable[9] = variable[10];
31066 variable[10] = variable[6] /*nodearraylist1*/;
31067 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
31068 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction518___action, LOCATE_parser, 17191); nit_exit(1);}
31069 variable[11] = variable[5] /*nodearraylist2*/;
31070 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
31071 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction518___action, LOCATE_parser, 17193); nit_exit(1);}
31072 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
31073 if (UNTAG_Bool(variable[12])) { /*if*/
31074 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
31075 if (UNTAG_Bool(variable[12])) { /*if*/
31076 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
31077 } else { /*if*/
31078 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
31079 }
31080 }
31081 variable[12] = variable[4] /*nodearraylist3*/;
31082 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
31083 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction518___action, LOCATE_parser, 17202); nit_exit(1);}
31084 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode6*/)( variable[12] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
31085 if (UNTAG_Bool(variable[13])) { /*if*/
31086 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode7*/)( variable[8] /*listnode7*/) /*AbstractArray::is_empty*/;
31087 if (UNTAG_Bool(variable[13])) { /*if*/
31088 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
31089 } else { /*if*/
31090 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode7*/)( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
31091 }
31092 }
31093 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/); /*new ACallExpr*/
31094 variable[13] = variable[14];
31095 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
31096 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(98)) /*Parser::go_to*/;
31097 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
31098 return_label1068: while(false);
31099 tracehead = trace.prev;
31100 return;
31101 }
31102 void parser___ReduceAction518___init(val_t self, int* init_table) {
31103 struct trace_t trace = {NULL, NULL, 17219, LOCATE_parser___ReduceAction518___init};
31104 val_t variable[2];
31105 void **closurevariable = NULL;
31106 trace.prev = tracehead; tracehead = &trace;
31107 trace.file = LOCATE_parser;
31108 variable[0] = self;
31109 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction518].i]) return;
31110 return_label1069: while(false);
31111 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction518].i] = 1;
31112 tracehead = trace.prev;
31113 return;
31114 }
31115 void parser___ReduceAction519___action(val_t self, val_t param0) {
31116 struct trace_t trace = {NULL, NULL, 17223, LOCATE_parser___ReduceAction519___action};
31117 val_t variable[7];
31118 void **closurevariable = NULL;
31119 trace.prev = tracehead; tracehead = &trace;
31120 trace.file = LOCATE_parser;
31121 variable[0] = self;
31122 variable[1] = param0;
31123 variable[3] = NIT_NULL /*null*/;
31124 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31125 variable[4] = variable[5];
31126 variable[5] = variable[4] /*nodearraylist1*/;
31127 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31128 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction519___action, LOCATE_parser, 17228); nit_exit(1);}
31129 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
31130 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(99)) /*Parser::go_to*/;
31131 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
31132 return_label1070: while(false);
31133 tracehead = trace.prev;
31134 return;
31135 }
31136 void parser___ReduceAction519___init(val_t self, int* init_table) {
31137 struct trace_t trace = {NULL, NULL, 17232, LOCATE_parser___ReduceAction519___init};
31138 val_t variable[2];
31139 void **closurevariable = NULL;
31140 trace.prev = tracehead; tracehead = &trace;
31141 trace.file = LOCATE_parser;
31142 variable[0] = self;
31143 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction519].i]) return;
31144 return_label1071: while(false);
31145 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction519].i] = 1;
31146 tracehead = trace.prev;
31147 return;
31148 }
31149 void parser___ReduceAction520___action(val_t self, val_t param0) {
31150 struct trace_t trace = {NULL, NULL, 17236, LOCATE_parser___ReduceAction520___action};
31151 val_t variable[23];
31152 void **closurevariable = NULL;
31153 trace.prev = tracehead; tracehead = &trace;
31154 trace.file = LOCATE_parser;
31155 variable[0] = self;
31156 variable[1] = param0;
31157 variable[3] = NIT_NULL /*null*/;
31158 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31159 variable[4] = variable[5];
31160 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31161 variable[5] = variable[6];
31162 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31163 variable[6] = variable[7];
31164 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31165 variable[7] = variable[8];
31166 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31167 variable[8] = variable[9];
31168 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31169 variable[9] = variable[10];
31170 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31171 variable[10] = variable[11];
31172 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31173 variable[11] = variable[12];
31174 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31175 variable[12] = variable[13];
31176 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31177 variable[13] = variable[14];
31178 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31179 variable[14] = variable[15];
31180 variable[15] = variable[14] /*nodearraylist1*/;
31181 variable[16] = TAG_Bool(( variable[15] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
31182 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction520___action, LOCATE_parser, 17251); nit_exit(1);}
31183 variable[16] = variable[12] /*nodearraylist3*/;
31184 variable[17] = TAG_Bool(( variable[16] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31185 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction520___action, LOCATE_parser, 17253); nit_exit(1);}
31186 variable[17] = variable[10] /*nodearraylist5*/;
31187 variable[18] = TAG_Bool(( variable[17] /*tkwthennode4*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwthennode4*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/;
31188 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction520___action, LOCATE_parser, 17255); nit_exit(1);}
31189 variable[18] = variable[8] /*nodearraylist7*/;
31190 variable[19] = TAG_Bool(( variable[18] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31191 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction520___action, LOCATE_parser, 17257); nit_exit(1);}
31192 variable[19] = variable[6] /*nodearraylist9*/;
31193 variable[20] = TAG_Bool(( variable[19] /*tkwelsenode6*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwelsenode6*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/;
31194 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction520___action, LOCATE_parser, 17259); nit_exit(1);}
31195 variable[20] = variable[4] /*nodearraylist11*/;
31196 variable[21] = TAG_Bool(( variable[20] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31197 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction520___action, LOCATE_parser, 17261); nit_exit(1);}
31198 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*/
31199 variable[21] = variable[22];
31200 variable[3] = variable[21] /*pexprnode1*/ /*node_list=*/;
31201 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(99)) /*Parser::go_to*/;
31202 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
31203 return_label1072: while(false);
31204 tracehead = trace.prev;
31205 return;
31206 }
31207 void parser___ReduceAction520___init(val_t self, int* init_table) {
31208 struct trace_t trace = {NULL, NULL, 17273, LOCATE_parser___ReduceAction520___init};
31209 val_t variable[2];
31210 void **closurevariable = NULL;
31211 trace.prev = tracehead; tracehead = &trace;
31212 trace.file = LOCATE_parser;
31213 variable[0] = self;
31214 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction520].i]) return;
31215 return_label1073: while(false);
31216 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction520].i] = 1;
31217 tracehead = trace.prev;
31218 return;
31219 }
31220 void parser___ReduceAction521___action(val_t self, val_t param0) {
31221 struct trace_t trace = {NULL, NULL, 17277, LOCATE_parser___ReduceAction521___action};
31222 val_t variable[7];
31223 void **closurevariable = NULL;
31224 trace.prev = tracehead; tracehead = &trace;
31225 trace.file = LOCATE_parser;
31226 variable[0] = self;
31227 variable[1] = param0;
31228 variable[3] = NIT_NULL /*null*/;
31229 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31230 variable[4] = variable[5];
31231 variable[5] = variable[4] /*nodearraylist1*/;
31232 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31233 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction521___action, LOCATE_parser, 17282); nit_exit(1);}
31234 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
31235 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(100)) /*Parser::go_to*/;
31236 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
31237 return_label1074: while(false);
31238 tracehead = trace.prev;
31239 return;
31240 }
31241 void parser___ReduceAction521___init(val_t self, int* init_table) {
31242 struct trace_t trace = {NULL, NULL, 17286, LOCATE_parser___ReduceAction521___init};
31243 val_t variable[2];
31244 void **closurevariable = NULL;
31245 trace.prev = tracehead; tracehead = &trace;
31246 trace.file = LOCATE_parser;
31247 variable[0] = self;
31248 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction521].i]) return;
31249 return_label1075: while(false);
31250 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction521].i] = 1;
31251 tracehead = trace.prev;
31252 return;
31253 }
31254 void parser___ReduceAction522___action(val_t self, val_t param0) {
31255 struct trace_t trace = {NULL, NULL, 17290, LOCATE_parser___ReduceAction522___action};
31256 val_t variable[12];
31257 void **closurevariable = NULL;
31258 trace.prev = tracehead; tracehead = &trace;
31259 trace.file = LOCATE_parser;
31260 variable[0] = self;
31261 variable[1] = param0;
31262 variable[3] = NIT_NULL /*null*/;
31263 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31264 variable[4] = variable[5];
31265 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31266 variable[5] = variable[6];
31267 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31268 variable[6] = variable[7];
31269 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31270 variable[7] = variable[8];
31271 variable[8] = variable[7] /*nodearraylist1*/;
31272 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31273 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction522___action, LOCATE_parser, 17298); nit_exit(1);}
31274 variable[9] = variable[4] /*nodearraylist4*/;
31275 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31276 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction522___action, LOCATE_parser, 17300); nit_exit(1);}
31277 variable[11] = NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AOrExpr*/
31278 variable[10] = variable[11];
31279 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
31280 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(100)) /*Parser::go_to*/;
31281 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
31282 return_label1076: while(false);
31283 tracehead = trace.prev;
31284 return;
31285 }
31286 void parser___ReduceAction522___init(val_t self, int* init_table) {
31287 struct trace_t trace = {NULL, NULL, 17308, LOCATE_parser___ReduceAction522___init};
31288 val_t variable[2];
31289 void **closurevariable = NULL;
31290 trace.prev = tracehead; tracehead = &trace;
31291 trace.file = LOCATE_parser;
31292 variable[0] = self;
31293 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction522].i]) return;
31294 return_label1077: while(false);
31295 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction522].i] = 1;
31296 tracehead = trace.prev;
31297 return;
31298 }
31299 void parser___ReduceAction523___action(val_t self, val_t param0) {
31300 struct trace_t trace = {NULL, NULL, 17312, LOCATE_parser___ReduceAction523___action};
31301 val_t variable[12];
31302 void **closurevariable = NULL;
31303 trace.prev = tracehead; tracehead = &trace;
31304 trace.file = LOCATE_parser;
31305 variable[0] = self;
31306 variable[1] = param0;
31307 variable[3] = NIT_NULL /*null*/;
31308 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31309 variable[4] = variable[5];
31310 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31311 variable[5] = variable[6];
31312 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31313 variable[6] = variable[7];
31314 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31315 variable[7] = variable[8];
31316 variable[8] = variable[7] /*nodearraylist1*/;
31317 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31318 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction523___action, LOCATE_parser, 17320); nit_exit(1);}
31319 variable[9] = variable[4] /*nodearraylist4*/;
31320 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31321 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction523___action, LOCATE_parser, 17322); nit_exit(1);}
31322 variable[11] = NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AAndExpr*/
31323 variable[10] = variable[11];
31324 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
31325 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(100)) /*Parser::go_to*/;
31326 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
31327 return_label1078: while(false);
31328 tracehead = trace.prev;
31329 return;
31330 }
31331 void parser___ReduceAction523___init(val_t self, int* init_table) {
31332 struct trace_t trace = {NULL, NULL, 17330, LOCATE_parser___ReduceAction523___init};
31333 val_t variable[2];
31334 void **closurevariable = NULL;
31335 trace.prev = tracehead; tracehead = &trace;
31336 trace.file = LOCATE_parser;
31337 variable[0] = self;
31338 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction523].i]) return;
31339 return_label1079: while(false);
31340 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction523].i] = 1;
31341 tracehead = trace.prev;
31342 return;
31343 }
31344 void parser___ReduceAction524___action(val_t self, val_t param0) {
31345 struct trace_t trace = {NULL, NULL, 17334, LOCATE_parser___ReduceAction524___action};
31346 val_t variable[7];
31347 void **closurevariable = NULL;
31348 trace.prev = tracehead; tracehead = &trace;
31349 trace.file = LOCATE_parser;
31350 variable[0] = self;
31351 variable[1] = param0;
31352 variable[3] = NIT_NULL /*null*/;
31353 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31354 variable[4] = variable[5];
31355 variable[5] = variable[4] /*nodearraylist1*/;
31356 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31357 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction524___action, LOCATE_parser, 17339); nit_exit(1);}
31358 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
31359 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(101)) /*Parser::go_to*/;
31360 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
31361 return_label1080: while(false);
31362 tracehead = trace.prev;
31363 return;
31364 }
31365 void parser___ReduceAction524___init(val_t self, int* init_table) {
31366 struct trace_t trace = {NULL, NULL, 17343, LOCATE_parser___ReduceAction524___init};
31367 val_t variable[2];
31368 void **closurevariable = NULL;
31369 trace.prev = tracehead; tracehead = &trace;
31370 trace.file = LOCATE_parser;
31371 variable[0] = self;
31372 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction524].i]) return;
31373 return_label1081: while(false);
31374 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction524].i] = 1;
31375 tracehead = trace.prev;
31376 return;
31377 }
31378 void parser___ReduceAction525___action(val_t self, val_t param0) {
31379 struct trace_t trace = {NULL, NULL, 17347, LOCATE_parser___ReduceAction525___action};
31380 val_t variable[11];
31381 void **closurevariable = NULL;
31382 trace.prev = tracehead; tracehead = &trace;
31383 trace.file = LOCATE_parser;
31384 variable[0] = self;
31385 variable[1] = param0;
31386 variable[3] = NIT_NULL /*null*/;
31387 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31388 variable[4] = variable[5];
31389 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31390 variable[5] = variable[6];
31391 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31392 variable[6] = variable[7];
31393 variable[7] = variable[6] /*nodearraylist1*/;
31394 variable[8] = TAG_Bool(( variable[7] /*tkwnotnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwnotnode2*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
31395 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction525___action, LOCATE_parser, 17354); nit_exit(1);}
31396 variable[8] = variable[4] /*nodearraylist3*/;
31397 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31398 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction525___action, LOCATE_parser, 17356); nit_exit(1);}
31399 variable[10] = NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr( variable[7] /*tkwnotnode2*/, variable[8] /*pexprnode3*/); /*new ANotExpr*/
31400 variable[9] = variable[10];
31401 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
31402 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(101)) /*Parser::go_to*/;
31403 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
31404 return_label1082: while(false);
31405 tracehead = trace.prev;
31406 return;
31407 }
31408 void parser___ReduceAction525___init(val_t self, int* init_table) {
31409 struct trace_t trace = {NULL, NULL, 17364, LOCATE_parser___ReduceAction525___init};
31410 val_t variable[2];
31411 void **closurevariable = NULL;
31412 trace.prev = tracehead; tracehead = &trace;
31413 trace.file = LOCATE_parser;
31414 variable[0] = self;
31415 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction525].i]) return;
31416 return_label1083: while(false);
31417 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction525].i] = 1;
31418 tracehead = trace.prev;
31419 return;
31420 }
31421 void parser___ReduceAction526___action(val_t self, val_t param0) {
31422 struct trace_t trace = {NULL, NULL, 17368, LOCATE_parser___ReduceAction526___action};
31423 val_t variable[7];
31424 void **closurevariable = NULL;
31425 trace.prev = tracehead; tracehead = &trace;
31426 trace.file = LOCATE_parser;
31427 variable[0] = self;
31428 variable[1] = param0;
31429 variable[3] = NIT_NULL /*null*/;
31430 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31431 variable[4] = variable[5];
31432 variable[5] = variable[4] /*nodearraylist1*/;
31433 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31434 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction526___action, LOCATE_parser, 17373); nit_exit(1);}
31435 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
31436 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(102)) /*Parser::go_to*/;
31437 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
31438 return_label1084: while(false);
31439 tracehead = trace.prev;
31440 return;
31441 }
31442 void parser___ReduceAction526___init(val_t self, int* init_table) {
31443 struct trace_t trace = {NULL, NULL, 17377, LOCATE_parser___ReduceAction526___init};
31444 val_t variable[2];
31445 void **closurevariable = NULL;
31446 trace.prev = tracehead; tracehead = &trace;
31447 trace.file = LOCATE_parser;
31448 variable[0] = self;
31449 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction526].i]) return;
31450 return_label1085: while(false);
31451 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction526].i] = 1;
31452 tracehead = trace.prev;
31453 return;
31454 }
31455 void parser___ReduceAction527___action(val_t self, val_t param0) {
31456 struct trace_t trace = {NULL, NULL, 17381, LOCATE_parser___ReduceAction527___action};
31457 val_t variable[12];
31458 void **closurevariable = NULL;
31459 trace.prev = tracehead; tracehead = &trace;
31460 trace.file = LOCATE_parser;
31461 variable[0] = self;
31462 variable[1] = param0;
31463 variable[3] = NIT_NULL /*null*/;
31464 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31465 variable[4] = variable[5];
31466 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31467 variable[5] = variable[6];
31468 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31469 variable[6] = variable[7];
31470 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31471 variable[7] = variable[8];
31472 variable[8] = variable[7] /*nodearraylist1*/;
31473 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31474 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction527___action, LOCATE_parser, 17389); nit_exit(1);}
31475 variable[9] = variable[4] /*nodearraylist4*/;
31476 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31477 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction527___action, LOCATE_parser, 17391); nit_exit(1);}
31478 variable[11] = NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AEqExpr*/
31479 variable[10] = variable[11];
31480 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
31481 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(102)) /*Parser::go_to*/;
31482 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
31483 return_label1086: while(false);
31484 tracehead = trace.prev;
31485 return;
31486 }
31487 void parser___ReduceAction527___init(val_t self, int* init_table) {
31488 struct trace_t trace = {NULL, NULL, 17399, LOCATE_parser___ReduceAction527___init};
31489 val_t variable[2];
31490 void **closurevariable = NULL;
31491 trace.prev = tracehead; tracehead = &trace;
31492 trace.file = LOCATE_parser;
31493 variable[0] = self;
31494 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction527].i]) return;
31495 return_label1087: while(false);
31496 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction527].i] = 1;
31497 tracehead = trace.prev;
31498 return;
31499 }
31500 void parser___ReduceAction528___action(val_t self, val_t param0) {
31501 struct trace_t trace = {NULL, NULL, 17403, LOCATE_parser___ReduceAction528___action};
31502 val_t variable[12];
31503 void **closurevariable = NULL;
31504 trace.prev = tracehead; tracehead = &trace;
31505 trace.file = LOCATE_parser;
31506 variable[0] = self;
31507 variable[1] = param0;
31508 variable[3] = NIT_NULL /*null*/;
31509 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31510 variable[4] = variable[5];
31511 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31512 variable[5] = variable[6];
31513 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31514 variable[6] = variable[7];
31515 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31516 variable[7] = variable[8];
31517 variable[8] = variable[7] /*nodearraylist1*/;
31518 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31519 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction528___action, LOCATE_parser, 17411); nit_exit(1);}
31520 variable[9] = variable[4] /*nodearraylist4*/;
31521 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31522 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction528___action, LOCATE_parser, 17413); nit_exit(1);}
31523 variable[11] = NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AEeExpr*/
31524 variable[10] = variable[11];
31525 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
31526 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(102)) /*Parser::go_to*/;
31527 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
31528 return_label1088: while(false);
31529 tracehead = trace.prev;
31530 return;
31531 }
31532 void parser___ReduceAction528___init(val_t self, int* init_table) {
31533 struct trace_t trace = {NULL, NULL, 17421, LOCATE_parser___ReduceAction528___init};
31534 val_t variable[2];
31535 void **closurevariable = NULL;
31536 trace.prev = tracehead; tracehead = &trace;
31537 trace.file = LOCATE_parser;
31538 variable[0] = self;
31539 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction528].i]) return;
31540 return_label1089: while(false);
31541 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction528].i] = 1;
31542 tracehead = trace.prev;
31543 return;
31544 }
31545 void parser___ReduceAction529___action(val_t self, val_t param0) {
31546 struct trace_t trace = {NULL, NULL, 17425, LOCATE_parser___ReduceAction529___action};
31547 val_t variable[12];
31548 void **closurevariable = NULL;
31549 trace.prev = tracehead; tracehead = &trace;
31550 trace.file = LOCATE_parser;
31551 variable[0] = self;
31552 variable[1] = param0;
31553 variable[3] = NIT_NULL /*null*/;
31554 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31555 variable[4] = variable[5];
31556 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31557 variable[5] = variable[6];
31558 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31559 variable[6] = variable[7];
31560 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31561 variable[7] = variable[8];
31562 variable[8] = variable[7] /*nodearraylist1*/;
31563 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31564 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction529___action, LOCATE_parser, 17433); nit_exit(1);}
31565 variable[9] = variable[4] /*nodearraylist4*/;
31566 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31567 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction529___action, LOCATE_parser, 17435); nit_exit(1);}
31568 variable[11] = NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ANeExpr*/
31569 variable[10] = variable[11];
31570 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
31571 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(102)) /*Parser::go_to*/;
31572 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
31573 return_label1090: while(false);
31574 tracehead = trace.prev;
31575 return;
31576 }
31577 void parser___ReduceAction529___init(val_t self, int* init_table) {
31578 struct trace_t trace = {NULL, NULL, 17443, LOCATE_parser___ReduceAction529___init};
31579 val_t variable[2];
31580 void **closurevariable = NULL;
31581 trace.prev = tracehead; tracehead = &trace;
31582 trace.file = LOCATE_parser;
31583 variable[0] = self;
31584 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction529].i]) return;
31585 return_label1091: while(false);
31586 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction529].i] = 1;
31587 tracehead = trace.prev;
31588 return;
31589 }
31590 void parser___ReduceAction530___action(val_t self, val_t param0) {
31591 struct trace_t trace = {NULL, NULL, 17447, LOCATE_parser___ReduceAction530___action};
31592 val_t variable[12];
31593 void **closurevariable = NULL;
31594 trace.prev = tracehead; tracehead = &trace;
31595 trace.file = LOCATE_parser;
31596 variable[0] = self;
31597 variable[1] = param0;
31598 variable[3] = NIT_NULL /*null*/;
31599 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31600 variable[4] = variable[5];
31601 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31602 variable[5] = variable[6];
31603 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31604 variable[6] = variable[7];
31605 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31606 variable[7] = variable[8];
31607 variable[8] = variable[7] /*nodearraylist1*/;
31608 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31609 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction530___action, LOCATE_parser, 17455); nit_exit(1);}
31610 variable[9] = variable[4] /*nodearraylist4*/;
31611 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31612 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction530___action, LOCATE_parser, 17457); nit_exit(1);}
31613 variable[11] = NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ALtExpr*/
31614 variable[10] = variable[11];
31615 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
31616 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(102)) /*Parser::go_to*/;
31617 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
31618 return_label1092: while(false);
31619 tracehead = trace.prev;
31620 return;
31621 }
31622 void parser___ReduceAction530___init(val_t self, int* init_table) {
31623 struct trace_t trace = {NULL, NULL, 17465, LOCATE_parser___ReduceAction530___init};
31624 val_t variable[2];
31625 void **closurevariable = NULL;
31626 trace.prev = tracehead; tracehead = &trace;
31627 trace.file = LOCATE_parser;
31628 variable[0] = self;
31629 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction530].i]) return;
31630 return_label1093: while(false);
31631 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction530].i] = 1;
31632 tracehead = trace.prev;
31633 return;
31634 }
31635 void parser___ReduceAction531___action(val_t self, val_t param0) {
31636 struct trace_t trace = {NULL, NULL, 17469, LOCATE_parser___ReduceAction531___action};
31637 val_t variable[12];
31638 void **closurevariable = NULL;
31639 trace.prev = tracehead; tracehead = &trace;
31640 trace.file = LOCATE_parser;
31641 variable[0] = self;
31642 variable[1] = param0;
31643 variable[3] = NIT_NULL /*null*/;
31644 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31645 variable[4] = variable[5];
31646 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31647 variable[5] = variable[6];
31648 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31649 variable[6] = variable[7];
31650 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31651 variable[7] = variable[8];
31652 variable[8] = variable[7] /*nodearraylist1*/;
31653 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31654 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction531___action, LOCATE_parser, 17477); nit_exit(1);}
31655 variable[9] = variable[4] /*nodearraylist4*/;
31656 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31657 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction531___action, LOCATE_parser, 17479); nit_exit(1);}
31658 variable[11] = NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ALeExpr*/
31659 variable[10] = variable[11];
31660 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
31661 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(102)) /*Parser::go_to*/;
31662 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
31663 return_label1094: while(false);
31664 tracehead = trace.prev;
31665 return;
31666 }
31667 void parser___ReduceAction531___init(val_t self, int* init_table) {
31668 struct trace_t trace = {NULL, NULL, 17487, LOCATE_parser___ReduceAction531___init};
31669 val_t variable[2];
31670 void **closurevariable = NULL;
31671 trace.prev = tracehead; tracehead = &trace;
31672 trace.file = LOCATE_parser;
31673 variable[0] = self;
31674 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction531].i]) return;
31675 return_label1095: while(false);
31676 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction531].i] = 1;
31677 tracehead = trace.prev;
31678 return;
31679 }
31680 void parser___ReduceAction532___action(val_t self, val_t param0) {
31681 struct trace_t trace = {NULL, NULL, 17491, LOCATE_parser___ReduceAction532___action};
31682 val_t variable[12];
31683 void **closurevariable = NULL;
31684 trace.prev = tracehead; tracehead = &trace;
31685 trace.file = LOCATE_parser;
31686 variable[0] = self;
31687 variable[1] = param0;
31688 variable[3] = NIT_NULL /*null*/;
31689 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31690 variable[4] = variable[5];
31691 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31692 variable[5] = variable[6];
31693 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31694 variable[6] = variable[7];
31695 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31696 variable[7] = variable[8];
31697 variable[8] = variable[7] /*nodearraylist1*/;
31698 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31699 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction532___action, LOCATE_parser, 17499); nit_exit(1);}
31700 variable[9] = variable[4] /*nodearraylist4*/;
31701 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31702 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction532___action, LOCATE_parser, 17501); nit_exit(1);}
31703 variable[11] = NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AGtExpr*/
31704 variable[10] = variable[11];
31705 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
31706 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(102)) /*Parser::go_to*/;
31707 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
31708 return_label1096: while(false);
31709 tracehead = trace.prev;
31710 return;
31711 }
31712 void parser___ReduceAction532___init(val_t self, int* init_table) {
31713 struct trace_t trace = {NULL, NULL, 17509, LOCATE_parser___ReduceAction532___init};
31714 val_t variable[2];
31715 void **closurevariable = NULL;
31716 trace.prev = tracehead; tracehead = &trace;
31717 trace.file = LOCATE_parser;
31718 variable[0] = self;
31719 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction532].i]) return;
31720 return_label1097: while(false);
31721 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction532].i] = 1;
31722 tracehead = trace.prev;
31723 return;
31724 }
31725 void parser___ReduceAction533___action(val_t self, val_t param0) {
31726 struct trace_t trace = {NULL, NULL, 17513, LOCATE_parser___ReduceAction533___action};
31727 val_t variable[12];
31728 void **closurevariable = NULL;
31729 trace.prev = tracehead; tracehead = &trace;
31730 trace.file = LOCATE_parser;
31731 variable[0] = self;
31732 variable[1] = param0;
31733 variable[3] = NIT_NULL /*null*/;
31734 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31735 variable[4] = variable[5];
31736 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31737 variable[5] = variable[6];
31738 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31739 variable[6] = variable[7];
31740 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31741 variable[7] = variable[8];
31742 variable[8] = variable[7] /*nodearraylist1*/;
31743 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31744 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction533___action, LOCATE_parser, 17521); nit_exit(1);}
31745 variable[9] = variable[4] /*nodearraylist4*/;
31746 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31747 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction533___action, LOCATE_parser, 17523); nit_exit(1);}
31748 variable[11] = NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AGeExpr*/
31749 variable[10] = variable[11];
31750 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
31751 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(102)) /*Parser::go_to*/;
31752 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
31753 return_label1098: while(false);
31754 tracehead = trace.prev;
31755 return;
31756 }
31757 void parser___ReduceAction533___init(val_t self, int* init_table) {
31758 struct trace_t trace = {NULL, NULL, 17531, LOCATE_parser___ReduceAction533___init};
31759 val_t variable[2];
31760 void **closurevariable = NULL;
31761 trace.prev = tracehead; tracehead = &trace;
31762 trace.file = LOCATE_parser;
31763 variable[0] = self;
31764 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction533].i]) return;
31765 return_label1099: while(false);
31766 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction533].i] = 1;
31767 tracehead = trace.prev;
31768 return;
31769 }
31770 void parser___ReduceAction534___action(val_t self, val_t param0) {
31771 struct trace_t trace = {NULL, NULL, 17535, LOCATE_parser___ReduceAction534___action};
31772 val_t variable[12];
31773 void **closurevariable = NULL;
31774 trace.prev = tracehead; tracehead = &trace;
31775 trace.file = LOCATE_parser;
31776 variable[0] = self;
31777 variable[1] = param0;
31778 variable[3] = NIT_NULL /*null*/;
31779 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31780 variable[4] = variable[5];
31781 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31782 variable[5] = variable[6];
31783 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31784 variable[6] = variable[7];
31785 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31786 variable[7] = variable[8];
31787 variable[8] = variable[7] /*nodearraylist1*/;
31788 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31789 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction534___action, LOCATE_parser, 17543); nit_exit(1);}
31790 variable[9] = variable[4] /*nodearraylist4*/;
31791 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31792 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction534___action, LOCATE_parser, 17545); nit_exit(1);}
31793 variable[11] = NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AStarshipExpr*/
31794 variable[10] = variable[11];
31795 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
31796 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(102)) /*Parser::go_to*/;
31797 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
31798 return_label1100: while(false);
31799 tracehead = trace.prev;
31800 return;
31801 }
31802 void parser___ReduceAction534___init(val_t self, int* init_table) {
31803 struct trace_t trace = {NULL, NULL, 17553, LOCATE_parser___ReduceAction534___init};
31804 val_t variable[2];
31805 void **closurevariable = NULL;
31806 trace.prev = tracehead; tracehead = &trace;
31807 trace.file = LOCATE_parser;
31808 variable[0] = self;
31809 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction534].i]) return;
31810 return_label1101: while(false);
31811 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction534].i] = 1;
31812 tracehead = trace.prev;
31813 return;
31814 }
31815 void parser___ReduceAction535___action(val_t self, val_t param0) {
31816 struct trace_t trace = {NULL, NULL, 17557, LOCATE_parser___ReduceAction535___action};
31817 val_t variable[12];
31818 void **closurevariable = NULL;
31819 trace.prev = tracehead; tracehead = &trace;
31820 trace.file = LOCATE_parser;
31821 variable[0] = self;
31822 variable[1] = param0;
31823 variable[3] = NIT_NULL /*null*/;
31824 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31825 variable[4] = variable[5];
31826 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31827 variable[5] = variable[6];
31828 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31829 variable[6] = variable[7];
31830 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31831 variable[7] = variable[8];
31832 variable[8] = variable[7] /*nodearraylist1*/;
31833 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31834 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction535___action, LOCATE_parser, 17565); nit_exit(1);}
31835 variable[9] = variable[4] /*nodearraylist4*/;
31836 variable[10] = TAG_Bool(( variable[9] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[9] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
31837 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction535___action, LOCATE_parser, 17567); nit_exit(1);}
31838 variable[11] = NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr( variable[8] /*pexprnode2*/, variable[9] /*ptypenode3*/); /*new AIsaExpr*/
31839 variable[10] = variable[11];
31840 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
31841 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(102)) /*Parser::go_to*/;
31842 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
31843 return_label1102: while(false);
31844 tracehead = trace.prev;
31845 return;
31846 }
31847 void parser___ReduceAction535___init(val_t self, int* init_table) {
31848 struct trace_t trace = {NULL, NULL, 17575, LOCATE_parser___ReduceAction535___init};
31849 val_t variable[2];
31850 void **closurevariable = NULL;
31851 trace.prev = tracehead; tracehead = &trace;
31852 trace.file = LOCATE_parser;
31853 variable[0] = self;
31854 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction535].i]) return;
31855 return_label1103: while(false);
31856 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction535].i] = 1;
31857 tracehead = trace.prev;
31858 return;
31859 }
31860 void parser___ReduceAction536___action(val_t self, val_t param0) {
31861 struct trace_t trace = {NULL, NULL, 17579, LOCATE_parser___ReduceAction536___action};
31862 val_t variable[7];
31863 void **closurevariable = NULL;
31864 trace.prev = tracehead; tracehead = &trace;
31865 trace.file = LOCATE_parser;
31866 variable[0] = self;
31867 variable[1] = param0;
31868 variable[3] = NIT_NULL /*null*/;
31869 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31870 variable[4] = variable[5];
31871 variable[5] = variable[4] /*nodearraylist1*/;
31872 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31873 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction536___action, LOCATE_parser, 17584); nit_exit(1);}
31874 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
31875 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(103)) /*Parser::go_to*/;
31876 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
31877 return_label1104: while(false);
31878 tracehead = trace.prev;
31879 return;
31880 }
31881 void parser___ReduceAction536___init(val_t self, int* init_table) {
31882 struct trace_t trace = {NULL, NULL, 17588, LOCATE_parser___ReduceAction536___init};
31883 val_t variable[2];
31884 void **closurevariable = NULL;
31885 trace.prev = tracehead; tracehead = &trace;
31886 trace.file = LOCATE_parser;
31887 variable[0] = self;
31888 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction536].i]) return;
31889 return_label1105: while(false);
31890 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction536].i] = 1;
31891 tracehead = trace.prev;
31892 return;
31893 }
31894 void parser___ReduceAction537___action(val_t self, val_t param0) {
31895 struct trace_t trace = {NULL, NULL, 17592, LOCATE_parser___ReduceAction537___action};
31896 val_t variable[12];
31897 void **closurevariable = NULL;
31898 trace.prev = tracehead; tracehead = &trace;
31899 trace.file = LOCATE_parser;
31900 variable[0] = self;
31901 variable[1] = param0;
31902 variable[3] = NIT_NULL /*null*/;
31903 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31904 variable[4] = variable[5];
31905 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31906 variable[5] = variable[6];
31907 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31908 variable[6] = variable[7];
31909 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31910 variable[7] = variable[8];
31911 variable[8] = variable[7] /*nodearraylist1*/;
31912 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31913 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction537___action, LOCATE_parser, 17600); nit_exit(1);}
31914 variable[9] = variable[4] /*nodearraylist4*/;
31915 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31916 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction537___action, LOCATE_parser, 17602); nit_exit(1);}
31917 variable[11] = NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new APlusExpr*/
31918 variable[10] = variable[11];
31919 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
31920 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(103)) /*Parser::go_to*/;
31921 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
31922 return_label1106: while(false);
31923 tracehead = trace.prev;
31924 return;
31925 }
31926 void parser___ReduceAction537___init(val_t self, int* init_table) {
31927 struct trace_t trace = {NULL, NULL, 17610, LOCATE_parser___ReduceAction537___init};
31928 val_t variable[2];
31929 void **closurevariable = NULL;
31930 trace.prev = tracehead; tracehead = &trace;
31931 trace.file = LOCATE_parser;
31932 variable[0] = self;
31933 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction537].i]) return;
31934 return_label1107: while(false);
31935 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction537].i] = 1;
31936 tracehead = trace.prev;
31937 return;
31938 }
31939 void parser___ReduceAction538___action(val_t self, val_t param0) {
31940 struct trace_t trace = {NULL, NULL, 17614, LOCATE_parser___ReduceAction538___action};
31941 val_t variable[12];
31942 void **closurevariable = NULL;
31943 trace.prev = tracehead; tracehead = &trace;
31944 trace.file = LOCATE_parser;
31945 variable[0] = self;
31946 variable[1] = param0;
31947 variable[3] = NIT_NULL /*null*/;
31948 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31949 variable[4] = variable[5];
31950 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31951 variable[5] = variable[6];
31952 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31953 variable[6] = variable[7];
31954 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31955 variable[7] = variable[8];
31956 variable[8] = variable[7] /*nodearraylist1*/;
31957 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31958 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction538___action, LOCATE_parser, 17622); nit_exit(1);}
31959 variable[9] = variable[4] /*nodearraylist4*/;
31960 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31961 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction538___action, LOCATE_parser, 17624); nit_exit(1);}
31962 variable[11] = NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AMinusExpr*/
31963 variable[10] = variable[11];
31964 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
31965 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(103)) /*Parser::go_to*/;
31966 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
31967 return_label1108: while(false);
31968 tracehead = trace.prev;
31969 return;
31970 }
31971 void parser___ReduceAction538___init(val_t self, int* init_table) {
31972 struct trace_t trace = {NULL, NULL, 17632, LOCATE_parser___ReduceAction538___init};
31973 val_t variable[2];
31974 void **closurevariable = NULL;
31975 trace.prev = tracehead; tracehead = &trace;
31976 trace.file = LOCATE_parser;
31977 variable[0] = self;
31978 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction538].i]) return;
31979 return_label1109: while(false);
31980 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction538].i] = 1;
31981 tracehead = trace.prev;
31982 return;
31983 }
31984 void parser___ReduceAction539___action(val_t self, val_t param0) {
31985 struct trace_t trace = {NULL, NULL, 17636, LOCATE_parser___ReduceAction539___action};
31986 val_t variable[7];
31987 void **closurevariable = NULL;
31988 trace.prev = tracehead; tracehead = &trace;
31989 trace.file = LOCATE_parser;
31990 variable[0] = self;
31991 variable[1] = param0;
31992 variable[3] = NIT_NULL /*null*/;
31993 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31994 variable[4] = variable[5];
31995 variable[5] = variable[4] /*nodearraylist1*/;
31996 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31997 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction539___action, LOCATE_parser, 17641); nit_exit(1);}
31998 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
31999 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(104)) /*Parser::go_to*/;
32000 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
32001 return_label1110: while(false);
32002 tracehead = trace.prev;
32003 return;
32004 }
32005 void parser___ReduceAction539___init(val_t self, int* init_table) {
32006 struct trace_t trace = {NULL, NULL, 17645, LOCATE_parser___ReduceAction539___init};
32007 val_t variable[2];
32008 void **closurevariable = NULL;
32009 trace.prev = tracehead; tracehead = &trace;
32010 trace.file = LOCATE_parser;
32011 variable[0] = self;
32012 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction539].i]) return;
32013 return_label1111: while(false);
32014 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction539].i] = 1;
32015 tracehead = trace.prev;
32016 return;
32017 }
32018 void parser___ReduceAction540___action(val_t self, val_t param0) {
32019 struct trace_t trace = {NULL, NULL, 17649, LOCATE_parser___ReduceAction540___action};
32020 val_t variable[12];
32021 void **closurevariable = NULL;
32022 trace.prev = tracehead; tracehead = &trace;
32023 trace.file = LOCATE_parser;
32024 variable[0] = self;
32025 variable[1] = param0;
32026 variable[3] = NIT_NULL /*null*/;
32027 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32028 variable[4] = variable[5];
32029 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32030 variable[5] = variable[6];
32031 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32032 variable[6] = variable[7];
32033 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32034 variable[7] = variable[8];
32035 variable[8] = variable[7] /*nodearraylist1*/;
32036 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
32037 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction540___action, LOCATE_parser, 17657); nit_exit(1);}
32038 variable[9] = variable[4] /*nodearraylist4*/;
32039 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
32040 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction540___action, LOCATE_parser, 17659); nit_exit(1);}
32041 variable[11] = NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AStarExpr*/
32042 variable[10] = variable[11];
32043 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
32044 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(104)) /*Parser::go_to*/;
32045 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
32046 return_label1112: while(false);
32047 tracehead = trace.prev;
32048 return;
32049 }
32050 void parser___ReduceAction540___init(val_t self, int* init_table) {
32051 struct trace_t trace = {NULL, NULL, 17667, LOCATE_parser___ReduceAction540___init};
32052 val_t variable[2];
32053 void **closurevariable = NULL;
32054 trace.prev = tracehead; tracehead = &trace;
32055 trace.file = LOCATE_parser;
32056 variable[0] = self;
32057 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction540].i]) return;
32058 return_label1113: while(false);
32059 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction540].i] = 1;
32060 tracehead = trace.prev;
32061 return;
32062 }
32063 void parser___ReduceAction541___action(val_t self, val_t param0) {
32064 struct trace_t trace = {NULL, NULL, 17671, LOCATE_parser___ReduceAction541___action};
32065 val_t variable[12];
32066 void **closurevariable = NULL;
32067 trace.prev = tracehead; tracehead = &trace;
32068 trace.file = LOCATE_parser;
32069 variable[0] = self;
32070 variable[1] = param0;
32071 variable[3] = NIT_NULL /*null*/;
32072 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32073 variable[4] = variable[5];
32074 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32075 variable[5] = variable[6];
32076 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32077 variable[6] = variable[7];
32078 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32079 variable[7] = variable[8];
32080 variable[8] = variable[7] /*nodearraylist1*/;
32081 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
32082 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction541___action, LOCATE_parser, 17679); nit_exit(1);}
32083 variable[9] = variable[4] /*nodearraylist4*/;
32084 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
32085 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction541___action, LOCATE_parser, 17681); nit_exit(1);}
32086 variable[11] = NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ASlashExpr*/
32087 variable[10] = variable[11];
32088 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
32089 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(104)) /*Parser::go_to*/;
32090 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
32091 return_label1114: while(false);
32092 tracehead = trace.prev;
32093 return;
32094 }
32095 void parser___ReduceAction541___init(val_t self, int* init_table) {
32096 struct trace_t trace = {NULL, NULL, 17689, LOCATE_parser___ReduceAction541___init};
32097 val_t variable[2];
32098 void **closurevariable = NULL;
32099 trace.prev = tracehead; tracehead = &trace;
32100 trace.file = LOCATE_parser;
32101 variable[0] = self;
32102 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction541].i]) return;
32103 return_label1115: while(false);
32104 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction541].i] = 1;
32105 tracehead = trace.prev;
32106 return;
32107 }
32108 void parser___ReduceAction542___action(val_t self, val_t param0) {
32109 struct trace_t trace = {NULL, NULL, 17693, LOCATE_parser___ReduceAction542___action};
32110 val_t variable[12];
32111 void **closurevariable = NULL;
32112 trace.prev = tracehead; tracehead = &trace;
32113 trace.file = LOCATE_parser;
32114 variable[0] = self;
32115 variable[1] = param0;
32116 variable[3] = NIT_NULL /*null*/;
32117 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32118 variable[4] = variable[5];
32119 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32120 variable[5] = variable[6];
32121 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32122 variable[6] = variable[7];
32123 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32124 variable[7] = variable[8];
32125 variable[8] = variable[7] /*nodearraylist1*/;
32126 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
32127 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction542___action, LOCATE_parser, 17701); nit_exit(1);}
32128 variable[9] = variable[4] /*nodearraylist4*/;
32129 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
32130 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction542___action, LOCATE_parser, 17703); nit_exit(1);}
32131 variable[11] = NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new APercentExpr*/
32132 variable[10] = variable[11];
32133 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
32134 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(104)) /*Parser::go_to*/;
32135 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
32136 return_label1116: while(false);
32137 tracehead = trace.prev;
32138 return;
32139 }
32140 void parser___ReduceAction542___init(val_t self, int* init_table) {
32141 struct trace_t trace = {NULL, NULL, 17711, LOCATE_parser___ReduceAction542___init};
32142 val_t variable[2];
32143 void **closurevariable = NULL;
32144 trace.prev = tracehead; tracehead = &trace;
32145 trace.file = LOCATE_parser;
32146 variable[0] = self;
32147 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction542].i]) return;
32148 return_label1117: while(false);
32149 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction542].i] = 1;
32150 tracehead = trace.prev;
32151 return;
32152 }
32153 void parser___ReduceAction543___action(val_t self, val_t param0) {
32154 struct trace_t trace = {NULL, NULL, 17715, LOCATE_parser___ReduceAction543___action};
32155 val_t variable[7];
32156 void **closurevariable = NULL;
32157 trace.prev = tracehead; tracehead = &trace;
32158 trace.file = LOCATE_parser;
32159 variable[0] = self;
32160 variable[1] = param0;
32161 variable[3] = NIT_NULL /*null*/;
32162 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32163 variable[4] = variable[5];
32164 variable[5] = variable[4] /*nodearraylist1*/;
32165 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
32166 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction543___action, LOCATE_parser, 17720); nit_exit(1);}
32167 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
32168 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
32169 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
32170 return_label1118: while(false);
32171 tracehead = trace.prev;
32172 return;
32173 }
32174 void parser___ReduceAction543___init(val_t self, int* init_table) {
32175 struct trace_t trace = {NULL, NULL, 17724, LOCATE_parser___ReduceAction543___init};
32176 val_t variable[2];
32177 void **closurevariable = NULL;
32178 trace.prev = tracehead; tracehead = &trace;
32179 trace.file = LOCATE_parser;
32180 variable[0] = self;
32181 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction543].i]) return;
32182 return_label1119: while(false);
32183 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction543].i] = 1;
32184 tracehead = trace.prev;
32185 return;
32186 }
32187 void parser___ReduceAction544___action(val_t self, val_t param0) {
32188 struct trace_t trace = {NULL, NULL, 17728, LOCATE_parser___ReduceAction544___action};
32189 val_t variable[11];
32190 void **closurevariable = NULL;
32191 trace.prev = tracehead; tracehead = &trace;
32192 trace.file = LOCATE_parser;
32193 variable[0] = self;
32194 variable[1] = param0;
32195 variable[3] = NIT_NULL /*null*/;
32196 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32197 variable[4] = variable[5];
32198 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32199 variable[5] = variable[6];
32200 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32201 variable[6] = variable[7];
32202 variable[7] = variable[6] /*nodearraylist1*/;
32203 variable[8] = TAG_Bool(( variable[7] /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
32204 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction544___action, LOCATE_parser, 17735); nit_exit(1);}
32205 variable[8] = variable[4] /*nodearraylist3*/;
32206 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
32207 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction544___action, LOCATE_parser, 17737); nit_exit(1);}
32208 variable[10] = NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr( variable[7] /*tminusnode2*/, variable[8] /*pexprnode3*/); /*new AUminusExpr*/
32209 variable[9] = variable[10];
32210 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
32211 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
32212 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
32213 return_label1120: while(false);
32214 tracehead = trace.prev;
32215 return;
32216 }
32217 void parser___ReduceAction544___init(val_t self, int* init_table) {
32218 struct trace_t trace = {NULL, NULL, 17745, LOCATE_parser___ReduceAction544___init};
32219 val_t variable[2];
32220 void **closurevariable = NULL;
32221 trace.prev = tracehead; tracehead = &trace;
32222 trace.file = LOCATE_parser;
32223 variable[0] = self;
32224 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction544].i]) return;
32225 return_label1121: while(false);
32226 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction544].i] = 1;
32227 tracehead = trace.prev;
32228 return;
32229 }
32230 void parser___ReduceAction545___action(val_t self, val_t param0) {
32231 struct trace_t trace = {NULL, NULL, 17749, LOCATE_parser___ReduceAction545___action};
32232 val_t variable[11];
32233 void **closurevariable = NULL;
32234 trace.prev = tracehead; tracehead = &trace;
32235 trace.file = LOCATE_parser;
32236 variable[0] = self;
32237 variable[1] = param0;
32238 variable[3] = NIT_NULL /*null*/;
32239 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32240 variable[4] = variable[5];
32241 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32242 variable[5] = variable[6];
32243 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32244 variable[6] = variable[7];
32245 variable[7] = variable[6] /*nodearraylist1*/;
32246 variable[8] = TAG_Bool(( variable[7] /*tkwoncenode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwoncenode2*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/;
32247 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction545___action, LOCATE_parser, 17756); nit_exit(1);}
32248 variable[8] = variable[4] /*nodearraylist3*/;
32249 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
32250 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction545___action, LOCATE_parser, 17758); nit_exit(1);}
32251 variable[10] = NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr( variable[7] /*tkwoncenode2*/, variable[8] /*pexprnode3*/); /*new AOnceExpr*/
32252 variable[9] = variable[10];
32253 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
32254 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
32255 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
32256 return_label1122: while(false);
32257 tracehead = trace.prev;
32258 return;
32259 }
32260 void parser___ReduceAction545___init(val_t self, int* init_table) {
32261 struct trace_t trace = {NULL, NULL, 17766, LOCATE_parser___ReduceAction545___init};
32262 val_t variable[2];
32263 void **closurevariable = NULL;
32264 trace.prev = tracehead; tracehead = &trace;
32265 trace.file = LOCATE_parser;
32266 variable[0] = self;
32267 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction545].i]) return;
32268 return_label1123: while(false);
32269 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction545].i] = 1;
32270 tracehead = trace.prev;
32271 return;
32272 }
32273 void parser___ReduceAction546___action(val_t self, val_t param0) {
32274 struct trace_t trace = {NULL, NULL, 17770, LOCATE_parser___ReduceAction546___action};
32275 val_t variable[7];
32276 void **closurevariable = NULL;
32277 trace.prev = tracehead; tracehead = &trace;
32278 trace.file = LOCATE_parser;
32279 variable[0] = self;
32280 variable[1] = param0;
32281 variable[3] = NIT_NULL /*null*/;
32282 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32283 variable[4] = variable[5];
32284 variable[5] = variable[4] /*nodearraylist1*/;
32285 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
32286 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction546___action, LOCATE_parser, 17775); nit_exit(1);}
32287 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
32288 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(106)) /*Parser::go_to*/;
32289 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
32290 return_label1124: while(false);
32291 tracehead = trace.prev;
32292 return;
32293 }
32294 void parser___ReduceAction546___init(val_t self, int* init_table) {
32295 struct trace_t trace = {NULL, NULL, 17779, LOCATE_parser___ReduceAction546___init};
32296 val_t variable[2];
32297 void **closurevariable = NULL;
32298 trace.prev = tracehead; tracehead = &trace;
32299 trace.file = LOCATE_parser;
32300 variable[0] = self;
32301 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction546].i]) return;
32302 return_label1125: while(false);
32303 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction546].i] = 1;
32304 tracehead = trace.prev;
32305 return;
32306 }
32307 void parser___ReduceAction547___action(val_t self, val_t param0) {
32308 struct trace_t trace = {NULL, NULL, 17783, LOCATE_parser___ReduceAction547___action};
32309 val_t variable[14];
32310 void **closurevariable = NULL;
32311 trace.prev = tracehead; tracehead = &trace;
32312 trace.file = LOCATE_parser;
32313 variable[0] = self;
32314 variable[1] = param0;
32315 variable[3] = NIT_NULL /*null*/;
32316 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32317 variable[4] = variable[5];
32318 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32319 variable[5] = variable[6];
32320 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32321 variable[6] = variable[7];
32322 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32323 variable[7] = variable[8];
32324 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
32325 variable[8] = variable[9];
32326 variable[9] = variable[7] /*nodearraylist1*/;
32327 variable[10] = TAG_Bool(( variable[9] /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
32328 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction547___action, LOCATE_parser, 17792); nit_exit(1);}
32329 variable[10] = variable[5] /*nodearraylist3*/;
32330 variable[11] = TAG_Bool(( variable[10] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[10] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
32331 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction547___action, LOCATE_parser, 17794); nit_exit(1);}
32332 variable[11] = variable[4] /*nodearraylist4*/;
32333 variable[12] = TAG_Bool(( variable[11] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
32334 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction547___action, LOCATE_parser, 17796); nit_exit(1);}
32335 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode5*/)( variable[11] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
32336 if (UNTAG_Bool(variable[12])) { /*if*/
32337 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode6*/)( variable[8] /*listnode6*/) /*AbstractArray::is_empty*/;
32338 if (UNTAG_Bool(variable[12])) { /*if*/
32339 variable[8] = variable[11] /*listnode5*/ /*listnode6=*/;
32340 } else { /*if*/
32341 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[11] /*listnode5*/) /*IndexedCollection::append*/;
32342 }
32343 }
32344 variable[13] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable[9] /*tkwnewnode2*/, variable[10] /*ptypenode3*/, NIT_NULL /*null*/, variable[8] /*listnode6*/); /*new ANewExpr*/
32345 variable[12] = variable[13];
32346 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
32347 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(106)) /*Parser::go_to*/;
32348 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
32349 return_label1126: while(false);
32350 tracehead = trace.prev;
32351 return;
32352 }
32353 void parser___ReduceAction547___init(val_t self, int* init_table) {
32354 struct trace_t trace = {NULL, NULL, 17813, LOCATE_parser___ReduceAction547___init};
32355 val_t variable[2];
32356 void **closurevariable = NULL;
32357 trace.prev = tracehead; tracehead = &trace;
32358 trace.file = LOCATE_parser;
32359 variable[0] = self;
32360 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction547].i]) return;
32361 return_label1127: while(false);
32362 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction547].i] = 1;
32363 tracehead = trace.prev;
32364 return;
32365 }
32366 void parser___ReduceAction548___action(val_t self, val_t param0) {
32367 struct trace_t trace = {NULL, NULL, 17817, LOCATE_parser___ReduceAction548___action};
32368 val_t variable[12];
32369 void **closurevariable = NULL;
32370 trace.prev = tracehead; tracehead = &trace;
32371 trace.file = LOCATE_parser;
32372 variable[0] = self;
32373 variable[1] = param0;
32374 variable[3] = NIT_NULL /*null*/;
32375 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32376 variable[4] = variable[5];
32377 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32378 variable[5] = variable[6];
32379 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32380 variable[6] = variable[7];
32381 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32382 variable[7] = variable[8];
32383 variable[8] = variable[7] /*nodearraylist1*/;
32384 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
32385 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction548___action, LOCATE_parser, 17825); nit_exit(1);}
32386 variable[9] = variable[4] /*nodearraylist4*/;
32387 variable[10] = TAG_Bool(( variable[9] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
32388 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction548___action, LOCATE_parser, 17827); nit_exit(1);}
32389 variable[11] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable[8] /*pexprnode2*/, variable[9] /*tattridnode3*/); /*new AAttrExpr*/
32390 variable[10] = variable[11];
32391 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
32392 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(107)) /*Parser::go_to*/;
32393 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
32394 return_label1128: while(false);
32395 tracehead = trace.prev;
32396 return;
32397 }
32398 void parser___ReduceAction548___init(val_t self, int* init_table) {
32399 struct trace_t trace = {NULL, NULL, 17835, LOCATE_parser___ReduceAction548___init};
32400 val_t variable[2];
32401 void **closurevariable = NULL;
32402 trace.prev = tracehead; tracehead = &trace;
32403 trace.file = LOCATE_parser;
32404 variable[0] = self;
32405 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction548].i]) return;
32406 return_label1129: while(false);
32407 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction548].i] = 1;
32408 tracehead = trace.prev;
32409 return;
32410 }
32411 void parser___ReduceAction549___action(val_t self, val_t param0) {
32412 struct trace_t trace = {NULL, NULL, 17839, LOCATE_parser___ReduceAction549___action};
32413 val_t variable[9];
32414 void **closurevariable = NULL;
32415 trace.prev = tracehead; tracehead = &trace;
32416 trace.file = LOCATE_parser;
32417 variable[0] = self;
32418 variable[1] = param0;
32419 variable[3] = NIT_NULL /*null*/;
32420 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32421 variable[4] = variable[5];
32422 variable[6] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
32423 variable[5] = variable[6];
32424 variable[6] = variable[4] /*nodearraylist1*/;
32425 variable[7] = TAG_Bool(( variable[6] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[6] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
32426 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction549___action, LOCATE_parser, 17846); nit_exit(1);}
32427 variable[8] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable[5] /*pexprnode2*/, variable[6] /*tattridnode3*/); /*new AAttrExpr*/
32428 variable[7] = variable[8];
32429 variable[3] = variable[7] /*pexprnode1*/ /*node_list=*/;
32430 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(107)) /*Parser::go_to*/;
32431 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
32432 return_label1130: while(false);
32433 tracehead = trace.prev;
32434 return;
32435 }
32436 void parser___ReduceAction549___init(val_t self, int* init_table) {
32437 struct trace_t trace = {NULL, NULL, 17854, LOCATE_parser___ReduceAction549___init};
32438 val_t variable[2];
32439 void **closurevariable = NULL;
32440 trace.prev = tracehead; tracehead = &trace;
32441 trace.file = LOCATE_parser;
32442 variable[0] = self;
32443 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction549].i]) return;
32444 return_label1131: while(false);
32445 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction549].i] = 1;
32446 tracehead = trace.prev;
32447 return;
32448 }
32449 void parser___ReduceAction550___action(val_t self, val_t param0) {
32450 struct trace_t trace = {NULL, NULL, 17858, LOCATE_parser___ReduceAction550___action};
32451 val_t variable[16];
32452 void **closurevariable = NULL;
32453 trace.prev = tracehead; tracehead = &trace;
32454 trace.file = LOCATE_parser;
32455 variable[0] = self;
32456 variable[1] = param0;
32457 variable[3] = NIT_NULL /*null*/;
32458 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32459 variable[4] = variable[5];
32460 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32461 variable[5] = variable[6];
32462 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32463 variable[6] = variable[7];
32464 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32465 variable[7] = variable[8];
32466 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32467 variable[8] = variable[9];
32468 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
32469 variable[9] = variable[10];
32470 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
32471 variable[10] = variable[11];
32472 variable[11] = variable[8] /*nodearraylist1*/;
32473 variable[12] = TAG_Bool(( variable[11] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
32474 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction550___action, LOCATE_parser, 17869); nit_exit(1);}
32475 variable[12] = variable[5] /*nodearraylist4*/;
32476 variable[13] = TAG_Bool(( variable[12] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
32477 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction550___action, LOCATE_parser, 17871); nit_exit(1);}
32478 variable[13] = variable[4] /*nodearraylist5*/;
32479 variable[14] = TAG_Bool(( variable[13] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
32480 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction550___action, LOCATE_parser, 17873); nit_exit(1);}
32481 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[13] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[13] /*listnode4*/)( variable[13] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
32482 if (UNTAG_Bool(variable[14])) { /*if*/
32483 variable[14] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode5*/)( variable[9] /*listnode5*/) /*AbstractArray::is_empty*/;
32484 if (UNTAG_Bool(variable[14])) { /*if*/
32485 variable[9] = variable[13] /*listnode4*/ /*listnode5=*/;
32486 } else { /*if*/
32487 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode5*/)( variable[9] /*listnode5*/, variable[13] /*listnode4*/) /*IndexedCollection::append*/;
32488 }
32489 }
32490 variable[15] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[11] /*pexprnode2*/, variable[12] /*tidnode3*/, variable[9] /*listnode5*/, variable[10] /*listnode6*/); /*new ACallExpr*/
32491 variable[14] = variable[15];
32492 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
32493 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(107)) /*Parser::go_to*/;
32494 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
32495 return_label1132: while(false);
32496 tracehead = trace.prev;
32497 return;
32498 }
32499 void parser___ReduceAction550___init(val_t self, int* init_table) {
32500 struct trace_t trace = {NULL, NULL, 17890, LOCATE_parser___ReduceAction550___init};
32501 val_t variable[2];
32502 void **closurevariable = NULL;
32503 trace.prev = tracehead; tracehead = &trace;
32504 trace.file = LOCATE_parser;
32505 variable[0] = self;
32506 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction550].i]) return;
32507 return_label1133: while(false);
32508 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction550].i] = 1;
32509 tracehead = trace.prev;
32510 return;
32511 }
32512 void parser___ReduceAction551___action(val_t self, val_t param0) {
32513 struct trace_t trace = {NULL, NULL, 17894, LOCATE_parser___ReduceAction551___action};
32514 val_t variable[13];
32515 void **closurevariable = NULL;
32516 trace.prev = tracehead; tracehead = &trace;
32517 trace.file = LOCATE_parser;
32518 variable[0] = self;
32519 variable[1] = param0;
32520 variable[3] = NIT_NULL /*null*/;
32521 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32522 variable[4] = variable[5];
32523 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32524 variable[5] = variable[6];
32525 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
32526 variable[6] = variable[7];
32527 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
32528 variable[7] = variable[8];
32529 variable[9] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
32530 variable[8] = variable[9];
32531 variable[9] = variable[5] /*nodearraylist1*/;
32532 variable[10] = TAG_Bool(( variable[9] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
32533 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction551___action, LOCATE_parser, 17904); nit_exit(1);}
32534 variable[10] = variable[4] /*nodearraylist2*/;
32535 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
32536 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction551___action, LOCATE_parser, 17906); nit_exit(1);}
32537 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
32538 if (UNTAG_Bool(variable[11])) { /*if*/
32539 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
32540 if (UNTAG_Bool(variable[11])) { /*if*/
32541 variable[6] = variable[10] /*listnode4*/ /*listnode5=*/;
32542 } else { /*if*/
32543 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
32544 }
32545 }
32546 variable[12] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[8] /*pexprnode2*/, variable[9] /*tidnode3*/, variable[6] /*listnode5*/, variable[7] /*listnode6*/); /*new ACallExpr*/
32547 variable[11] = variable[12];
32548 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
32549 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(107)) /*Parser::go_to*/;
32550 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
32551 return_label1134: while(false);
32552 tracehead = trace.prev;
32553 return;
32554 }
32555 void parser___ReduceAction551___init(val_t self, int* init_table) {
32556 struct trace_t trace = {NULL, NULL, 17923, LOCATE_parser___ReduceAction551___init};
32557 val_t variable[2];
32558 void **closurevariable = NULL;
32559 trace.prev = tracehead; tracehead = &trace;
32560 trace.file = LOCATE_parser;
32561 variable[0] = self;
32562 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction551].i]) return;
32563 return_label1135: while(false);
32564 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction551].i] = 1;
32565 tracehead = trace.prev;
32566 return;
32567 }
32568 void parser___ReduceAction552___action(val_t self, val_t param0) {
32569 struct trace_t trace = {NULL, NULL, 17927, LOCATE_parser___ReduceAction552___action};
32570 val_t variable[11];
32571 void **closurevariable = NULL;
32572 trace.prev = tracehead; tracehead = &trace;
32573 trace.file = LOCATE_parser;
32574 variable[0] = self;
32575 variable[1] = param0;
32576 variable[3] = NIT_NULL /*null*/;
32577 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32578 variable[4] = variable[5];
32579 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32580 variable[5] = variable[6];
32581 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
32582 variable[6] = variable[7];
32583 variable[7] = variable[5] /*nodearraylist1*/;
32584 variable[8] = TAG_Bool(( variable[7] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
32585 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction552___action, LOCATE_parser, 17934); nit_exit(1);}
32586 variable[8] = variable[4] /*nodearraylist2*/;
32587 variable[9] = TAG_Bool(( variable[8] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
32588 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction552___action, LOCATE_parser, 17936); nit_exit(1);}
32589 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
32590 if (UNTAG_Bool(variable[9])) { /*if*/
32591 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
32592 if (UNTAG_Bool(variable[9])) { /*if*/
32593 variable[6] = variable[8] /*listnode4*/ /*listnode5=*/;
32594 } else { /*if*/
32595 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[8] /*listnode4*/) /*IndexedCollection::append*/;
32596 }
32597 }
32598 variable[10] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable[7] /*tkwsupernode3*/, variable[6] /*listnode5*/); /*new ASuperExpr*/
32599 variable[9] = variable[10];
32600 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
32601 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(107)) /*Parser::go_to*/;
32602 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
32603 return_label1136: while(false);
32604 tracehead = trace.prev;
32605 return;
32606 }
32607 void parser___ReduceAction552___init(val_t self, int* init_table) {
32608 struct trace_t trace = {NULL, NULL, 17952, LOCATE_parser___ReduceAction552___init};
32609 val_t variable[2];
32610 void **closurevariable = NULL;
32611 trace.prev = tracehead; tracehead = &trace;
32612 trace.file = LOCATE_parser;
32613 variable[0] = self;
32614 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction552].i]) return;
32615 return_label1137: while(false);
32616 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction552].i] = 1;
32617 tracehead = trace.prev;
32618 return;
32619 }
32620 void parser___ReduceAction553___action(val_t self, val_t param0) {
32621 struct trace_t trace = {NULL, NULL, 17956, LOCATE_parser___ReduceAction553___action};
32622 val_t variable[13];
32623 void **closurevariable = NULL;
32624 trace.prev = tracehead; tracehead = &trace;
32625 trace.file = LOCATE_parser;
32626 variable[0] = self;
32627 variable[1] = param0;
32628 variable[3] = NIT_NULL /*null*/;
32629 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32630 variable[4] = variable[5];
32631 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32632 variable[5] = variable[6];
32633 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32634 variable[6] = variable[7];
32635 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
32636 variable[7] = variable[8];
32637 variable[8] = variable[6] /*nodearraylist1*/;
32638 variable[9] = TAG_Bool(( variable[8] /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
32639 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction553___action, LOCATE_parser, 17964); nit_exit(1);}
32640 variable[9] = variable[5] /*nodearraylist2*/;
32641 variable[10] = TAG_Bool(( variable[9] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
32642 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction553___action, LOCATE_parser, 17966); nit_exit(1);}
32643 variable[10] = variable[4] /*nodearraylist3*/;
32644 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
32645 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction553___action, LOCATE_parser, 17968); nit_exit(1);}
32646 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
32647 if (UNTAG_Bool(variable[11])) { /*if*/
32648 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
32649 if (UNTAG_Bool(variable[11])) { /*if*/
32650 variable[7] = variable[10] /*listnode4*/ /*listnode5=*/;
32651 } else { /*if*/
32652 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
32653 }
32654 }
32655 variable[12] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( variable[8] /*pqualifiednode2*/, variable[9] /*tkwsupernode3*/, variable[7] /*listnode5*/); /*new ASuperExpr*/
32656 variable[11] = variable[12];
32657 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
32658 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(107)) /*Parser::go_to*/;
32659 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
32660 return_label1138: while(false);
32661 tracehead = trace.prev;
32662 return;
32663 }
32664 void parser___ReduceAction553___init(val_t self, int* init_table) {
32665 struct trace_t trace = {NULL, NULL, 17984, LOCATE_parser___ReduceAction553___init};
32666 val_t variable[2];
32667 void **closurevariable = NULL;
32668 trace.prev = tracehead; tracehead = &trace;
32669 trace.file = LOCATE_parser;
32670 variable[0] = self;
32671 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction553].i]) return;
32672 return_label1139: while(false);
32673 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction553].i] = 1;
32674 tracehead = trace.prev;
32675 return;
32676 }
32677 void parser___ReduceAction554___action(val_t self, val_t param0) {
32678 struct trace_t trace = {NULL, NULL, 17988, LOCATE_parser___ReduceAction554___action};
32679 val_t variable[15];
32680 void **closurevariable = NULL;
32681 trace.prev = tracehead; tracehead = &trace;
32682 trace.file = LOCATE_parser;
32683 variable[0] = self;
32684 variable[1] = param0;
32685 variable[3] = NIT_NULL /*null*/;
32686 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32687 variable[4] = variable[5];
32688 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32689 variable[5] = variable[6];
32690 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32691 variable[6] = variable[7];
32692 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32693 variable[7] = variable[8];
32694 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32695 variable[8] = variable[9];
32696 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
32697 variable[9] = variable[10];
32698 variable[10] = variable[8] /*nodearraylist1*/;
32699 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
32700 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction554___action, LOCATE_parser, 17998); nit_exit(1);}
32701 variable[11] = variable[5] /*nodearraylist4*/;
32702 variable[12] = TAG_Bool(( variable[11] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
32703 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction554___action, LOCATE_parser, 18000); nit_exit(1);}
32704 variable[12] = variable[4] /*nodearraylist5*/;
32705 variable[13] = TAG_Bool(( variable[12] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
32706 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction554___action, LOCATE_parser, 18002); nit_exit(1);}
32707 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode4*/)( variable[12] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
32708 if (UNTAG_Bool(variable[13])) { /*if*/
32709 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode5*/)( variable[9] /*listnode5*/) /*AbstractArray::is_empty*/;
32710 if (UNTAG_Bool(variable[13])) { /*if*/
32711 variable[9] = variable[12] /*listnode4*/ /*listnode5=*/;
32712 } else { /*if*/
32713 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode5*/)( variable[9] /*listnode5*/, variable[12] /*listnode4*/) /*IndexedCollection::append*/;
32714 }
32715 }
32716 variable[14] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[10] /*pexprnode2*/, variable[11] /*tkwinitnode3*/, variable[9] /*listnode5*/); /*new AInitExpr*/
32717 variable[13] = variable[14];
32718 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
32719 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(107)) /*Parser::go_to*/;
32720 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
32721 return_label1140: while(false);
32722 tracehead = trace.prev;
32723 return;
32724 }
32725 void parser___ReduceAction554___init(val_t self, int* init_table) {
32726 struct trace_t trace = {NULL, NULL, 18018, LOCATE_parser___ReduceAction554___init};
32727 val_t variable[2];
32728 void **closurevariable = NULL;
32729 trace.prev = tracehead; tracehead = &trace;
32730 trace.file = LOCATE_parser;
32731 variable[0] = self;
32732 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction554].i]) return;
32733 return_label1141: while(false);
32734 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction554].i] = 1;
32735 tracehead = trace.prev;
32736 return;
32737 }
32738 void parser___ReduceAction555___action(val_t self, val_t param0) {
32739 struct trace_t trace = {NULL, NULL, 18022, LOCATE_parser___ReduceAction555___action};
32740 val_t variable[12];
32741 void **closurevariable = NULL;
32742 trace.prev = tracehead; tracehead = &trace;
32743 trace.file = LOCATE_parser;
32744 variable[0] = self;
32745 variable[1] = param0;
32746 variable[3] = NIT_NULL /*null*/;
32747 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32748 variable[4] = variable[5];
32749 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32750 variable[5] = variable[6];
32751 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
32752 variable[6] = variable[7];
32753 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
32754 variable[7] = variable[8];
32755 variable[8] = variable[5] /*nodearraylist1*/;
32756 variable[9] = TAG_Bool(( variable[8] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
32757 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction555___action, LOCATE_parser, 18031); nit_exit(1);}
32758 variable[9] = variable[4] /*nodearraylist2*/;
32759 variable[10] = TAG_Bool(( variable[9] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
32760 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction555___action, LOCATE_parser, 18033); nit_exit(1);}
32761 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[9] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
32762 if (UNTAG_Bool(variable[10])) { /*if*/
32763 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
32764 if (UNTAG_Bool(variable[10])) { /*if*/
32765 variable[6] = variable[9] /*listnode4*/ /*listnode5=*/;
32766 } else { /*if*/
32767 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[9] /*listnode4*/) /*IndexedCollection::append*/;
32768 }
32769 }
32770 variable[11] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[7] /*pexprnode2*/, variable[8] /*tkwinitnode3*/, variable[6] /*listnode5*/); /*new AInitExpr*/
32771 variable[10] = variable[11];
32772 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
32773 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(107)) /*Parser::go_to*/;
32774 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
32775 return_label1142: while(false);
32776 tracehead = trace.prev;
32777 return;
32778 }
32779 void parser___ReduceAction555___init(val_t self, int* init_table) {
32780 struct trace_t trace = {NULL, NULL, 18049, LOCATE_parser___ReduceAction555___init};
32781 val_t variable[2];
32782 void **closurevariable = NULL;
32783 trace.prev = tracehead; tracehead = &trace;
32784 trace.file = LOCATE_parser;
32785 variable[0] = self;
32786 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction555].i]) return;
32787 return_label1143: while(false);
32788 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction555].i] = 1;
32789 tracehead = trace.prev;
32790 return;
32791 }
32792 void parser___ReduceAction556___action(val_t self, val_t param0) {
32793 struct trace_t trace = {NULL, NULL, 18053, LOCATE_parser___ReduceAction556___action};
32794 val_t variable[18];
32795 void **closurevariable = NULL;
32796 trace.prev = tracehead; tracehead = &trace;
32797 trace.file = LOCATE_parser;
32798 variable[0] = self;
32799 variable[1] = param0;
32800 variable[3] = NIT_NULL /*null*/;
32801 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32802 variable[4] = variable[5];
32803 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32804 variable[5] = variable[6];
32805 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32806 variable[6] = variable[7];
32807 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32808 variable[7] = variable[8];
32809 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32810 variable[8] = variable[9];
32811 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32812 variable[9] = variable[10];
32813 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32814 variable[10] = variable[11];
32815 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
32816 variable[11] = variable[12];
32817 variable[12] = variable[10] /*nodearraylist1*/;
32818 variable[13] = TAG_Bool(( variable[12] /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
32819 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction556___action, LOCATE_parser, 18065); nit_exit(1);}
32820 variable[13] = variable[8] /*nodearraylist3*/;
32821 variable[14] = TAG_Bool(( variable[13] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[13] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
32822 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction556___action, LOCATE_parser, 18067); nit_exit(1);}
32823 variable[14] = variable[5] /*nodearraylist6*/;
32824 variable[15] = TAG_Bool(( variable[14] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
32825 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction556___action, LOCATE_parser, 18069); nit_exit(1);}
32826 variable[15] = variable[4] /*nodearraylist7*/;
32827 variable[16] = TAG_Bool(( variable[15] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
32828 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction556___action, LOCATE_parser, 18071); nit_exit(1);}
32829 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*listnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*listnode5*/)( variable[15] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
32830 if (UNTAG_Bool(variable[16])) { /*if*/
32831 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode6*/)( variable[11] /*listnode6*/) /*AbstractArray::is_empty*/;
32832 if (UNTAG_Bool(variable[16])) { /*if*/
32833 variable[11] = variable[15] /*listnode5*/ /*listnode6=*/;
32834 } else { /*if*/
32835 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode6*/)( variable[11] /*listnode6*/, variable[15] /*listnode5*/) /*IndexedCollection::append*/;
32836 }
32837 }
32838 variable[17] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable[12] /*tkwnewnode2*/, variable[13] /*ptypenode3*/, variable[14] /*tidnode4*/, variable[11] /*listnode6*/); /*new ANewExpr*/
32839 variable[16] = variable[17];
32840 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
32841 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(107)) /*Parser::go_to*/;
32842 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
32843 return_label1144: while(false);
32844 tracehead = trace.prev;
32845 return;
32846 }
32847 void parser___ReduceAction556___init(val_t self, int* init_table) {
32848 struct trace_t trace = {NULL, NULL, 18088, LOCATE_parser___ReduceAction556___init};
32849 val_t variable[2];
32850 void **closurevariable = NULL;
32851 trace.prev = tracehead; tracehead = &trace;
32852 trace.file = LOCATE_parser;
32853 variable[0] = self;
32854 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction556].i]) return;
32855 return_label1145: while(false);
32856 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction556].i] = 1;
32857 tracehead = trace.prev;
32858 return;
32859 }
32860 void parser___ReduceAction557___action(val_t self, val_t param0) {
32861 struct trace_t trace = {NULL, NULL, 18092, LOCATE_parser___ReduceAction557___action};
32862 val_t variable[8];
32863 void **closurevariable = NULL;
32864 trace.prev = tracehead; tracehead = &trace;
32865 trace.file = LOCATE_parser;
32866 variable[0] = self;
32867 variable[1] = param0;
32868 variable[3] = NIT_NULL /*null*/;
32869 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32870 variable[4] = variable[5];
32871 variable[5] = variable[4] /*nodearraylist1*/;
32872 variable[6] = TAG_Bool(( variable[5] /*tkwselfnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwselfnode2*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/;
32873 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction557___action, LOCATE_parser, 18097); nit_exit(1);}
32874 variable[7] = NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr( variable[5] /*tkwselfnode2*/); /*new ASelfExpr*/
32875 variable[6] = variable[7];
32876 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
32877 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(107)) /*Parser::go_to*/;
32878 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
32879 return_label1146: while(false);
32880 tracehead = trace.prev;
32881 return;
32882 }
32883 void parser___ReduceAction557___init(val_t self, int* init_table) {
32884 struct trace_t trace = {NULL, NULL, 18104, LOCATE_parser___ReduceAction557___init};
32885 val_t variable[2];
32886 void **closurevariable = NULL;
32887 trace.prev = tracehead; tracehead = &trace;
32888 trace.file = LOCATE_parser;
32889 variable[0] = self;
32890 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction557].i]) return;
32891 return_label1147: while(false);
32892 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction557].i] = 1;
32893 tracehead = trace.prev;
32894 return;
32895 }
32896 void parser___ReduceAction558___action(val_t self, val_t param0) {
32897 struct trace_t trace = {NULL, NULL, 18108, LOCATE_parser___ReduceAction558___action};
32898 val_t variable[8];
32899 void **closurevariable = NULL;
32900 trace.prev = tracehead; tracehead = &trace;
32901 trace.file = LOCATE_parser;
32902 variable[0] = self;
32903 variable[1] = param0;
32904 variable[3] = NIT_NULL /*null*/;
32905 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32906 variable[4] = variable[5];
32907 variable[5] = variable[4] /*nodearraylist1*/;
32908 variable[6] = TAG_Bool(( variable[5] /*tkwtruenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwtruenode2*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/;
32909 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction558___action, LOCATE_parser, 18113); nit_exit(1);}
32910 variable[7] = NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr( variable[5] /*tkwtruenode2*/); /*new ATrueExpr*/
32911 variable[6] = variable[7];
32912 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
32913 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(107)) /*Parser::go_to*/;
32914 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
32915 return_label1148: while(false);
32916 tracehead = trace.prev;
32917 return;
32918 }
32919 void parser___ReduceAction558___init(val_t self, int* init_table) {
32920 struct trace_t trace = {NULL, NULL, 18120, LOCATE_parser___ReduceAction558___init};
32921 val_t variable[2];
32922 void **closurevariable = NULL;
32923 trace.prev = tracehead; tracehead = &trace;
32924 trace.file = LOCATE_parser;
32925 variable[0] = self;
32926 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction558].i]) return;
32927 return_label1149: while(false);
32928 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction558].i] = 1;
32929 tracehead = trace.prev;
32930 return;
32931 }
32932 void parser___ReduceAction559___action(val_t self, val_t param0) {
32933 struct trace_t trace = {NULL, NULL, 18124, LOCATE_parser___ReduceAction559___action};
32934 val_t variable[8];
32935 void **closurevariable = NULL;
32936 trace.prev = tracehead; tracehead = &trace;
32937 trace.file = LOCATE_parser;
32938 variable[0] = self;
32939 variable[1] = param0;
32940 variable[3] = NIT_NULL /*null*/;
32941 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32942 variable[4] = variable[5];
32943 variable[5] = variable[4] /*nodearraylist1*/;
32944 variable[6] = TAG_Bool(( variable[5] /*tkwfalsenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwfalsenode2*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/;
32945 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction559___action, LOCATE_parser, 18129); nit_exit(1);}
32946 variable[7] = NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr( variable[5] /*tkwfalsenode2*/); /*new AFalseExpr*/
32947 variable[6] = variable[7];
32948 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
32949 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(107)) /*Parser::go_to*/;
32950 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
32951 return_label1150: while(false);
32952 tracehead = trace.prev;
32953 return;
32954 }
32955 void parser___ReduceAction559___init(val_t self, int* init_table) {
32956 struct trace_t trace = {NULL, NULL, 18136, LOCATE_parser___ReduceAction559___init};
32957 val_t variable[2];
32958 void **closurevariable = NULL;
32959 trace.prev = tracehead; tracehead = &trace;
32960 trace.file = LOCATE_parser;
32961 variable[0] = self;
32962 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction559].i]) return;
32963 return_label1151: while(false);
32964 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction559].i] = 1;
32965 tracehead = trace.prev;
32966 return;
32967 }
32968 void parser___ReduceAction560___action(val_t self, val_t param0) {
32969 struct trace_t trace = {NULL, NULL, 18140, LOCATE_parser___ReduceAction560___action};
32970 val_t variable[8];
32971 void **closurevariable = NULL;
32972 trace.prev = tracehead; tracehead = &trace;
32973 trace.file = LOCATE_parser;
32974 variable[0] = self;
32975 variable[1] = param0;
32976 variable[3] = NIT_NULL /*null*/;
32977 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32978 variable[4] = variable[5];
32979 variable[5] = variable[4] /*nodearraylist1*/;
32980 variable[6] = TAG_Bool(( variable[5] /*tkwnullnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwnullnode2*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
32981 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction560___action, LOCATE_parser, 18145); nit_exit(1);}
32982 variable[7] = NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr( variable[5] /*tkwnullnode2*/); /*new ANullExpr*/
32983 variable[6] = variable[7];
32984 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
32985 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(107)) /*Parser::go_to*/;
32986 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
32987 return_label1152: while(false);
32988 tracehead = trace.prev;
32989 return;
32990 }
32991 void parser___ReduceAction560___init(val_t self, int* init_table) {
32992 struct trace_t trace = {NULL, NULL, 18152, LOCATE_parser___ReduceAction560___init};
32993 val_t variable[2];
32994 void **closurevariable = NULL;
32995 trace.prev = tracehead; tracehead = &trace;
32996 trace.file = LOCATE_parser;
32997 variable[0] = self;
32998 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction560].i]) return;
32999 return_label1153: while(false);
33000 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction560].i] = 1;
33001 tracehead = trace.prev;
33002 return;
33003 }
33004 void parser___ReduceAction561___action(val_t self, val_t param0) {
33005 struct trace_t trace = {NULL, NULL, 18156, LOCATE_parser___ReduceAction561___action};
33006 val_t variable[8];
33007 void **closurevariable = NULL;
33008 trace.prev = tracehead; tracehead = &trace;
33009 trace.file = LOCATE_parser;
33010 variable[0] = self;
33011 variable[1] = param0;
33012 variable[3] = NIT_NULL /*null*/;
33013 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33014 variable[4] = variable[5];
33015 variable[5] = variable[4] /*nodearraylist1*/;
33016 variable[6] = TAG_Bool(( variable[5] /*tnumbernode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tnumbernode2*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/;
33017 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction561___action, LOCATE_parser, 18161); nit_exit(1);}
33018 variable[7] = NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr( variable[5] /*tnumbernode2*/); /*new AIntExpr*/
33019 variable[6] = variable[7];
33020 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
33021 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(107)) /*Parser::go_to*/;
33022 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
33023 return_label1154: while(false);
33024 tracehead = trace.prev;
33025 return;
33026 }
33027 void parser___ReduceAction561___init(val_t self, int* init_table) {
33028 struct trace_t trace = {NULL, NULL, 18168, LOCATE_parser___ReduceAction561___init};
33029 val_t variable[2];
33030 void **closurevariable = NULL;
33031 trace.prev = tracehead; tracehead = &trace;
33032 trace.file = LOCATE_parser;
33033 variable[0] = self;
33034 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction561].i]) return;
33035 return_label1155: while(false);
33036 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction561].i] = 1;
33037 tracehead = trace.prev;
33038 return;
33039 }
33040 void parser___ReduceAction562___action(val_t self, val_t param0) {
33041 struct trace_t trace = {NULL, NULL, 18172, LOCATE_parser___ReduceAction562___action};
33042 val_t variable[8];
33043 void **closurevariable = NULL;
33044 trace.prev = tracehead; tracehead = &trace;
33045 trace.file = LOCATE_parser;
33046 variable[0] = self;
33047 variable[1] = param0;
33048 variable[3] = NIT_NULL /*null*/;
33049 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33050 variable[4] = variable[5];
33051 variable[5] = variable[4] /*nodearraylist1*/;
33052 variable[6] = TAG_Bool(( variable[5] /*tfloatnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tfloatnode2*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/;
33053 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction562___action, LOCATE_parser, 18177); nit_exit(1);}
33054 variable[7] = NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr( variable[5] /*tfloatnode2*/); /*new AFloatExpr*/
33055 variable[6] = variable[7];
33056 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
33057 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(107)) /*Parser::go_to*/;
33058 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
33059 return_label1156: while(false);
33060 tracehead = trace.prev;
33061 return;
33062 }
33063 void parser___ReduceAction562___init(val_t self, int* init_table) {
33064 struct trace_t trace = {NULL, NULL, 18184, LOCATE_parser___ReduceAction562___init};
33065 val_t variable[2];
33066 void **closurevariable = NULL;
33067 trace.prev = tracehead; tracehead = &trace;
33068 trace.file = LOCATE_parser;
33069 variable[0] = self;
33070 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction562].i]) return;
33071 return_label1157: while(false);
33072 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction562].i] = 1;
33073 tracehead = trace.prev;
33074 return;
33075 }
33076 void parser___ReduceAction563___action(val_t self, val_t param0) {
33077 struct trace_t trace = {NULL, NULL, 18188, LOCATE_parser___ReduceAction563___action};
33078 val_t variable[8];
33079 void **closurevariable = NULL;
33080 trace.prev = tracehead; tracehead = &trace;
33081 trace.file = LOCATE_parser;
33082 variable[0] = self;
33083 variable[1] = param0;
33084 variable[3] = NIT_NULL /*null*/;
33085 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33086 variable[4] = variable[5];
33087 variable[5] = variable[4] /*nodearraylist1*/;
33088 variable[6] = TAG_Bool(( variable[5] /*tcharnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tcharnode2*/, COLOR_TChar, ID_TChar)) /*cast TChar*/;
33089 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction563___action, LOCATE_parser, 18193); nit_exit(1);}
33090 variable[7] = NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr( variable[5] /*tcharnode2*/); /*new ACharExpr*/
33091 variable[6] = variable[7];
33092 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
33093 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(107)) /*Parser::go_to*/;
33094 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
33095 return_label1158: while(false);
33096 tracehead = trace.prev;
33097 return;
33098 }
33099 void parser___ReduceAction563___init(val_t self, int* init_table) {
33100 struct trace_t trace = {NULL, NULL, 18200, LOCATE_parser___ReduceAction563___init};
33101 val_t variable[2];
33102 void **closurevariable = NULL;
33103 trace.prev = tracehead; tracehead = &trace;
33104 trace.file = LOCATE_parser;
33105 variable[0] = self;
33106 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction563].i]) return;
33107 return_label1159: while(false);
33108 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction563].i] = 1;
33109 tracehead = trace.prev;
33110 return;
33111 }
33112 void parser___ReduceAction564___action(val_t self, val_t param0) {
33113 struct trace_t trace = {NULL, NULL, 18204, LOCATE_parser___ReduceAction564___action};
33114 val_t variable[8];
33115 void **closurevariable = NULL;
33116 trace.prev = tracehead; tracehead = &trace;
33117 trace.file = LOCATE_parser;
33118 variable[0] = self;
33119 variable[1] = param0;
33120 variable[3] = NIT_NULL /*null*/;
33121 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33122 variable[4] = variable[5];
33123 variable[5] = variable[4] /*nodearraylist1*/;
33124 variable[6] = TAG_Bool(( variable[5] /*tstringnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tstringnode2*/, COLOR_TString, ID_TString)) /*cast TString*/;
33125 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction564___action, LOCATE_parser, 18209); nit_exit(1);}
33126 variable[7] = NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr( variable[5] /*tstringnode2*/); /*new AStringExpr*/
33127 variable[6] = variable[7];
33128 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
33129 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(107)) /*Parser::go_to*/;
33130 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
33131 return_label1160: while(false);
33132 tracehead = trace.prev;
33133 return;
33134 }
33135 void parser___ReduceAction564___init(val_t self, int* init_table) {
33136 struct trace_t trace = {NULL, NULL, 18216, LOCATE_parser___ReduceAction564___init};
33137 val_t variable[2];
33138 void **closurevariable = NULL;
33139 trace.prev = tracehead; tracehead = &trace;
33140 trace.file = LOCATE_parser;
33141 variable[0] = self;
33142 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction564].i]) return;
33143 return_label1161: while(false);
33144 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction564].i] = 1;
33145 tracehead = trace.prev;
33146 return;
33147 }
33148 void parser___ReduceAction565___action(val_t self, val_t param0) {
33149 struct trace_t trace = {NULL, NULL, 18220, LOCATE_parser___ReduceAction565___action};
33150 val_t variable[7];
33151 void **closurevariable = NULL;
33152 trace.prev = tracehead; tracehead = &trace;
33153 trace.file = LOCATE_parser;
33154 variable[0] = self;
33155 variable[1] = param0;
33156 variable[3] = NIT_NULL /*null*/;
33157 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33158 variable[4] = variable[5];
33159 variable[5] = variable[4] /*nodearraylist1*/;
33160 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33161 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction565___action, LOCATE_parser, 18225); nit_exit(1);}
33162 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
33163 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(107)) /*Parser::go_to*/;
33164 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
33165 return_label1162: while(false);
33166 tracehead = trace.prev;
33167 return;
33168 }
33169 void parser___ReduceAction565___init(val_t self, int* init_table) {
33170 struct trace_t trace = {NULL, NULL, 18229, LOCATE_parser___ReduceAction565___init};
33171 val_t variable[2];
33172 void **closurevariable = NULL;
33173 trace.prev = tracehead; tracehead = &trace;
33174 trace.file = LOCATE_parser;
33175 variable[0] = self;
33176 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction565].i]) return;
33177 return_label1163: while(false);
33178 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction565].i] = 1;
33179 tracehead = trace.prev;
33180 return;
33181 }
33182 void parser___ReduceAction566___action(val_t self, val_t param0) {
33183 struct trace_t trace = {NULL, NULL, 18233, LOCATE_parser___ReduceAction566___action};
33184 val_t variable[19];
33185 void **closurevariable = NULL;
33186 trace.prev = tracehead; tracehead = &trace;
33187 trace.file = LOCATE_parser;
33188 variable[0] = self;
33189 variable[1] = param0;
33190 variable[3] = NIT_NULL /*null*/;
33191 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33192 variable[4] = variable[5];
33193 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33194 variable[5] = variable[6];
33195 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33196 variable[6] = variable[7];
33197 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33198 variable[7] = variable[8];
33199 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33200 variable[8] = variable[9];
33201 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33202 variable[9] = variable[10];
33203 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33204 variable[10] = variable[11];
33205 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33206 variable[11] = variable[12];
33207 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33208 variable[12] = variable[13];
33209 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33210 variable[13] = variable[14];
33211 variable[14] = variable[13] /*nodearraylist1*/;
33212 variable[15] = TAG_Bool(( variable[14] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33213 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction566___action, LOCATE_parser, 18247); nit_exit(1);}
33214 variable[15] = variable[10] /*nodearraylist4*/;
33215 variable[16] = TAG_Bool(( variable[15] /*tkwasnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwasnode3*/, COLOR_TKwas, ID_TKwas)) /*cast TKwas*/;
33216 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction566___action, LOCATE_parser, 18249); nit_exit(1);}
33217 variable[16] = variable[6] /*nodearraylist8*/;
33218 variable[17] = TAG_Bool(( variable[16] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[16] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
33219 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction566___action, LOCATE_parser, 18251); nit_exit(1);}
33220 variable[18] = NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr( variable[14] /*pexprnode2*/, variable[15] /*tkwasnode3*/, variable[16] /*ptypenode4*/); /*new AAsCastExpr*/
33221 variable[17] = variable[18];
33222 variable[3] = variable[17] /*pexprnode1*/ /*node_list=*/;
33223 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(107)) /*Parser::go_to*/;
33224 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
33225 return_label1164: while(false);
33226 tracehead = trace.prev;
33227 return;
33228 }
33229 void parser___ReduceAction566___init(val_t self, int* init_table) {
33230 struct trace_t trace = {NULL, NULL, 18260, LOCATE_parser___ReduceAction566___init};
33231 val_t variable[2];
33232 void **closurevariable = NULL;
33233 trace.prev = tracehead; tracehead = &trace;
33234 trace.file = LOCATE_parser;
33235 variable[0] = self;
33236 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction566].i]) return;
33237 return_label1165: while(false);
33238 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction566].i] = 1;
33239 tracehead = trace.prev;
33240 return;
33241 }
33242 void parser___ReduceAction567___action(val_t self, val_t param0) {
33243 struct trace_t trace = {NULL, NULL, 18264, LOCATE_parser___ReduceAction567___action};
33244 val_t variable[9];
33245 void **closurevariable = NULL;
33246 trace.prev = tracehead; tracehead = &trace;
33247 trace.file = LOCATE_parser;
33248 variable[0] = self;
33249 variable[1] = param0;
33250 variable[3] = NIT_NULL /*null*/;
33251 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33252 variable[4] = variable[5];
33253 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
33254 variable[5] = variable[6];
33255 variable[6] = variable[4] /*nodearraylist1*/;
33256 variable[7] = TAG_Bool(( variable[6] /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
33257 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction567___action, LOCATE_parser, 18270); nit_exit(1);}
33258 variable[8] = NEW_AType_parser_prod___AType___init_atype( variable[6] /*tclassidnode2*/, variable[5] /*listnode3*/); /*new AType*/
33259 variable[7] = variable[8];
33260 variable[3] = variable[7] /*ptypenode1*/ /*node_list=*/;
33261 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(108)) /*Parser::go_to*/;
33262 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
33263 return_label1166: while(false);
33264 tracehead = trace.prev;
33265 return;
33266 }
33267 void parser___ReduceAction567___init(val_t self, int* init_table) {
33268 struct trace_t trace = {NULL, NULL, 18278, LOCATE_parser___ReduceAction567___init};
33269 val_t variable[2];
33270 void **closurevariable = NULL;
33271 trace.prev = tracehead; tracehead = &trace;
33272 trace.file = LOCATE_parser;
33273 variable[0] = self;
33274 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction567].i]) return;
33275 return_label1167: while(false);
33276 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction567].i] = 1;
33277 tracehead = trace.prev;
33278 return;
33279 }
33280 void parser___ReduceAction568___action(val_t self, val_t param0) {
33281 struct trace_t trace = {NULL, NULL, 18282, LOCATE_parser___ReduceAction568___action};
33282 val_t variable[7];
33283 void **closurevariable = NULL;
33284 trace.prev = tracehead; tracehead = &trace;
33285 trace.file = LOCATE_parser;
33286 variable[0] = self;
33287 variable[1] = param0;
33288 variable[3] = NIT_NULL /*null*/;
33289 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33290 variable[4] = variable[5];
33291 variable[5] = variable[4] /*nodearraylist1*/;
33292 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33293 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction568___action, LOCATE_parser, 18287); nit_exit(1);}
33294 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
33295 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(109)) /*Parser::go_to*/;
33296 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
33297 return_label1168: while(false);
33298 tracehead = trace.prev;
33299 return;
33300 }
33301 void parser___ReduceAction568___init(val_t self, int* init_table) {
33302 struct trace_t trace = {NULL, NULL, 18291, LOCATE_parser___ReduceAction568___init};
33303 val_t variable[2];
33304 void **closurevariable = NULL;
33305 trace.prev = tracehead; tracehead = &trace;
33306 trace.file = LOCATE_parser;
33307 variable[0] = self;
33308 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction568].i]) return;
33309 return_label1169: while(false);
33310 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction568].i] = 1;
33311 tracehead = trace.prev;
33312 return;
33313 }
33314 void parser___ReduceAction569___action(val_t self, val_t param0) {
33315 struct trace_t trace = {NULL, NULL, 18295, LOCATE_parser___ReduceAction569___action};
33316 val_t variable[18];
33317 void **closurevariable = NULL;
33318 trace.prev = tracehead; tracehead = &trace;
33319 trace.file = LOCATE_parser;
33320 variable[0] = self;
33321 variable[1] = param0;
33322 variable[3] = NIT_NULL /*null*/;
33323 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33324 variable[4] = variable[5];
33325 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33326 variable[5] = variable[6];
33327 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33328 variable[6] = variable[7];
33329 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33330 variable[7] = variable[8];
33331 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33332 variable[8] = variable[9];
33333 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33334 variable[9] = variable[10];
33335 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
33336 variable[10] = variable[11];
33337 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
33338 variable[11] = variable[12];
33339 variable[12] = variable[9] /*nodearraylist1*/;
33340 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33341 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction569___action, LOCATE_parser, 18307); nit_exit(1);}
33342 variable[13] = variable[6] /*nodearraylist4*/;
33343 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
33344 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction569___action, LOCATE_parser, 18309); nit_exit(1);}
33345 variable[14] = variable[5] /*nodearraylist5*/;
33346 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
33347 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction569___action, LOCATE_parser, 18311); nit_exit(1);}
33348 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
33349 if (UNTAG_Bool(variable[15])) { /*if*/
33350 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode5*/)( variable[10] /*listnode5*/) /*AbstractArray::is_empty*/;
33351 if (UNTAG_Bool(variable[15])) { /*if*/
33352 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
33353 } else { /*if*/
33354 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode5*/)( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
33355 }
33356 }
33357 variable[15] = variable[4] /*nodearraylist6*/;
33358 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
33359 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction569___action, LOCATE_parser, 18320); nit_exit(1);}
33360 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*listnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*listnode6*/)( variable[15] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
33361 if (UNTAG_Bool(variable[16])) { /*if*/
33362 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode7*/)( variable[11] /*listnode7*/) /*AbstractArray::is_empty*/;
33363 if (UNTAG_Bool(variable[16])) { /*if*/
33364 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
33365 } else { /*if*/
33366 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
33367 }
33368 }
33369 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/); /*new ACallExpr*/
33370 variable[16] = variable[17];
33371 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
33372 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(109)) /*Parser::go_to*/;
33373 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
33374 return_label1170: while(false);
33375 tracehead = trace.prev;
33376 return;
33377 }
33378 void parser___ReduceAction569___init(val_t self, int* init_table) {
33379 struct trace_t trace = {NULL, NULL, 18337, LOCATE_parser___ReduceAction569___init};
33380 val_t variable[2];
33381 void **closurevariable = NULL;
33382 trace.prev = tracehead; tracehead = &trace;
33383 trace.file = LOCATE_parser;
33384 variable[0] = self;
33385 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction569].i]) return;
33386 return_label1171: while(false);
33387 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction569].i] = 1;
33388 tracehead = trace.prev;
33389 return;
33390 }
33391 void parser___ReduceAction570___action(val_t self, val_t param0) {
33392 struct trace_t trace = {NULL, NULL, 18341, LOCATE_parser___ReduceAction570___action};
33393 val_t variable[15];
33394 void **closurevariable = NULL;
33395 trace.prev = tracehead; tracehead = &trace;
33396 trace.file = LOCATE_parser;
33397 variable[0] = self;
33398 variable[1] = param0;
33399 variable[3] = NIT_NULL /*null*/;
33400 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33401 variable[4] = variable[5];
33402 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33403 variable[5] = variable[6];
33404 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33405 variable[6] = variable[7];
33406 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
33407 variable[7] = variable[8];
33408 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
33409 variable[8] = variable[9];
33410 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
33411 variable[9] = variable[10];
33412 variable[10] = variable[6] /*nodearraylist1*/;
33413 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
33414 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction570___action, LOCATE_parser, 18352); nit_exit(1);}
33415 variable[11] = variable[5] /*nodearraylist2*/;
33416 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
33417 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction570___action, LOCATE_parser, 18354); nit_exit(1);}
33418 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
33419 if (UNTAG_Bool(variable[12])) { /*if*/
33420 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
33421 if (UNTAG_Bool(variable[12])) { /*if*/
33422 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
33423 } else { /*if*/
33424 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
33425 }
33426 }
33427 variable[12] = variable[4] /*nodearraylist3*/;
33428 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
33429 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction570___action, LOCATE_parser, 18363); nit_exit(1);}
33430 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode6*/)( variable[12] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
33431 if (UNTAG_Bool(variable[13])) { /*if*/
33432 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode7*/)( variable[8] /*listnode7*/) /*AbstractArray::is_empty*/;
33433 if (UNTAG_Bool(variable[13])) { /*if*/
33434 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
33435 } else { /*if*/
33436 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode7*/)( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
33437 }
33438 }
33439 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/); /*new ACallExpr*/
33440 variable[13] = variable[14];
33441 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
33442 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(109)) /*Parser::go_to*/;
33443 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
33444 return_label1172: while(false);
33445 tracehead = trace.prev;
33446 return;
33447 }
33448 void parser___ReduceAction570___init(val_t self, int* init_table) {
33449 struct trace_t trace = {NULL, NULL, 18380, LOCATE_parser___ReduceAction570___init};
33450 val_t variable[2];
33451 void **closurevariable = NULL;
33452 trace.prev = tracehead; tracehead = &trace;
33453 trace.file = LOCATE_parser;
33454 variable[0] = self;
33455 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction570].i]) return;
33456 return_label1173: while(false);
33457 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction570].i] = 1;
33458 tracehead = trace.prev;
33459 return;
33460 }
33461 void parser___ReduceAction571___action(val_t self, val_t param0) {
33462 struct trace_t trace = {NULL, NULL, 18384, LOCATE_parser___ReduceAction571___action};
33463 val_t variable[7];
33464 void **closurevariable = NULL;
33465 trace.prev = tracehead; tracehead = &trace;
33466 trace.file = LOCATE_parser;
33467 variable[0] = self;
33468 variable[1] = param0;
33469 variable[3] = NIT_NULL /*null*/;
33470 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33471 variable[4] = variable[5];
33472 variable[5] = variable[4] /*nodearraylist1*/;
33473 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33474 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction571___action, LOCATE_parser, 18389); nit_exit(1);}
33475 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
33476 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(110)) /*Parser::go_to*/;
33477 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
33478 return_label1174: while(false);
33479 tracehead = trace.prev;
33480 return;
33481 }
33482 void parser___ReduceAction571___init(val_t self, int* init_table) {
33483 struct trace_t trace = {NULL, NULL, 18393, LOCATE_parser___ReduceAction571___init};
33484 val_t variable[2];
33485 void **closurevariable = NULL;
33486 trace.prev = tracehead; tracehead = &trace;
33487 trace.file = LOCATE_parser;
33488 variable[0] = self;
33489 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction571].i]) return;
33490 return_label1175: while(false);
33491 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction571].i] = 1;
33492 tracehead = trace.prev;
33493 return;
33494 }
33495 void parser___ReduceAction572___action(val_t self, val_t param0) {
33496 struct trace_t trace = {NULL, NULL, 18397, LOCATE_parser___ReduceAction572___action};
33497 val_t variable[23];
33498 void **closurevariable = NULL;
33499 trace.prev = tracehead; tracehead = &trace;
33500 trace.file = LOCATE_parser;
33501 variable[0] = self;
33502 variable[1] = param0;
33503 variable[3] = NIT_NULL /*null*/;
33504 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33505 variable[4] = variable[5];
33506 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33507 variable[5] = variable[6];
33508 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33509 variable[6] = variable[7];
33510 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33511 variable[7] = variable[8];
33512 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33513 variable[8] = variable[9];
33514 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33515 variable[9] = variable[10];
33516 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33517 variable[10] = variable[11];
33518 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33519 variable[11] = variable[12];
33520 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33521 variable[12] = variable[13];
33522 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33523 variable[13] = variable[14];
33524 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33525 variable[14] = variable[15];
33526 variable[15] = variable[14] /*nodearraylist1*/;
33527 variable[16] = TAG_Bool(( variable[15] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
33528 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction572___action, LOCATE_parser, 18412); nit_exit(1);}
33529 variable[16] = variable[12] /*nodearraylist3*/;
33530 variable[17] = TAG_Bool(( variable[16] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33531 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction572___action, LOCATE_parser, 18414); nit_exit(1);}
33532 variable[17] = variable[10] /*nodearraylist5*/;
33533 variable[18] = TAG_Bool(( variable[17] /*tkwthennode4*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwthennode4*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/;
33534 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction572___action, LOCATE_parser, 18416); nit_exit(1);}
33535 variable[18] = variable[8] /*nodearraylist7*/;
33536 variable[19] = TAG_Bool(( variable[18] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33537 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction572___action, LOCATE_parser, 18418); nit_exit(1);}
33538 variable[19] = variable[6] /*nodearraylist9*/;
33539 variable[20] = TAG_Bool(( variable[19] /*tkwelsenode6*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwelsenode6*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/;
33540 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction572___action, LOCATE_parser, 18420); nit_exit(1);}
33541 variable[20] = variable[4] /*nodearraylist11*/;
33542 variable[21] = TAG_Bool(( variable[20] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33543 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction572___action, LOCATE_parser, 18422); nit_exit(1);}
33544 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*/
33545 variable[21] = variable[22];
33546 variable[3] = variable[21] /*pexprnode1*/ /*node_list=*/;
33547 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(110)) /*Parser::go_to*/;
33548 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
33549 return_label1176: while(false);
33550 tracehead = trace.prev;
33551 return;
33552 }
33553 void parser___ReduceAction572___init(val_t self, int* init_table) {
33554 struct trace_t trace = {NULL, NULL, 18434, LOCATE_parser___ReduceAction572___init};
33555 val_t variable[2];
33556 void **closurevariable = NULL;
33557 trace.prev = tracehead; tracehead = &trace;
33558 trace.file = LOCATE_parser;
33559 variable[0] = self;
33560 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction572].i]) return;
33561 return_label1177: while(false);
33562 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction572].i] = 1;
33563 tracehead = trace.prev;
33564 return;
33565 }
33566 void parser___ReduceAction573___action(val_t self, val_t param0) {
33567 struct trace_t trace = {NULL, NULL, 18438, LOCATE_parser___ReduceAction573___action};
33568 val_t variable[7];
33569 void **closurevariable = NULL;
33570 trace.prev = tracehead; tracehead = &trace;
33571 trace.file = LOCATE_parser;
33572 variable[0] = self;
33573 variable[1] = param0;
33574 variable[3] = NIT_NULL /*null*/;
33575 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33576 variable[4] = variable[5];
33577 variable[5] = variable[4] /*nodearraylist1*/;
33578 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33579 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction573___action, LOCATE_parser, 18443); nit_exit(1);}
33580 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
33581 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(111)) /*Parser::go_to*/;
33582 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
33583 return_label1178: while(false);
33584 tracehead = trace.prev;
33585 return;
33586 }
33587 void parser___ReduceAction573___init(val_t self, int* init_table) {
33588 struct trace_t trace = {NULL, NULL, 18447, LOCATE_parser___ReduceAction573___init};
33589 val_t variable[2];
33590 void **closurevariable = NULL;
33591 trace.prev = tracehead; tracehead = &trace;
33592 trace.file = LOCATE_parser;
33593 variable[0] = self;
33594 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction573].i]) return;
33595 return_label1179: while(false);
33596 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction573].i] = 1;
33597 tracehead = trace.prev;
33598 return;
33599 }
33600 void parser___ReduceAction574___action(val_t self, val_t param0) {
33601 struct trace_t trace = {NULL, NULL, 18451, LOCATE_parser___ReduceAction574___action};
33602 val_t variable[12];
33603 void **closurevariable = NULL;
33604 trace.prev = tracehead; tracehead = &trace;
33605 trace.file = LOCATE_parser;
33606 variable[0] = self;
33607 variable[1] = param0;
33608 variable[3] = NIT_NULL /*null*/;
33609 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33610 variable[4] = variable[5];
33611 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33612 variable[5] = variable[6];
33613 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33614 variable[6] = variable[7];
33615 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33616 variable[7] = variable[8];
33617 variable[8] = variable[7] /*nodearraylist1*/;
33618 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33619 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction574___action, LOCATE_parser, 18459); nit_exit(1);}
33620 variable[9] = variable[4] /*nodearraylist4*/;
33621 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33622 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction574___action, LOCATE_parser, 18461); nit_exit(1);}
33623 variable[11] = NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AOrExpr*/
33624 variable[10] = variable[11];
33625 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
33626 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(111)) /*Parser::go_to*/;
33627 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
33628 return_label1180: while(false);
33629 tracehead = trace.prev;
33630 return;
33631 }
33632 void parser___ReduceAction574___init(val_t self, int* init_table) {
33633 struct trace_t trace = {NULL, NULL, 18469, LOCATE_parser___ReduceAction574___init};
33634 val_t variable[2];
33635 void **closurevariable = NULL;
33636 trace.prev = tracehead; tracehead = &trace;
33637 trace.file = LOCATE_parser;
33638 variable[0] = self;
33639 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction574].i]) return;
33640 return_label1181: while(false);
33641 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction574].i] = 1;
33642 tracehead = trace.prev;
33643 return;
33644 }
33645 void parser___ReduceAction575___action(val_t self, val_t param0) {
33646 struct trace_t trace = {NULL, NULL, 18473, LOCATE_parser___ReduceAction575___action};
33647 val_t variable[12];
33648 void **closurevariable = NULL;
33649 trace.prev = tracehead; tracehead = &trace;
33650 trace.file = LOCATE_parser;
33651 variable[0] = self;
33652 variable[1] = param0;
33653 variable[3] = NIT_NULL /*null*/;
33654 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33655 variable[4] = variable[5];
33656 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33657 variable[5] = variable[6];
33658 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33659 variable[6] = variable[7];
33660 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33661 variable[7] = variable[8];
33662 variable[8] = variable[7] /*nodearraylist1*/;
33663 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33664 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction575___action, LOCATE_parser, 18481); nit_exit(1);}
33665 variable[9] = variable[4] /*nodearraylist4*/;
33666 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33667 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction575___action, LOCATE_parser, 18483); nit_exit(1);}
33668 variable[11] = NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AAndExpr*/
33669 variable[10] = variable[11];
33670 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
33671 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(111)) /*Parser::go_to*/;
33672 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
33673 return_label1182: while(false);
33674 tracehead = trace.prev;
33675 return;
33676 }
33677 void parser___ReduceAction575___init(val_t self, int* init_table) {
33678 struct trace_t trace = {NULL, NULL, 18491, LOCATE_parser___ReduceAction575___init};
33679 val_t variable[2];
33680 void **closurevariable = NULL;
33681 trace.prev = tracehead; tracehead = &trace;
33682 trace.file = LOCATE_parser;
33683 variable[0] = self;
33684 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction575].i]) return;
33685 return_label1183: while(false);
33686 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction575].i] = 1;
33687 tracehead = trace.prev;
33688 return;
33689 }
33690 void parser___ReduceAction576___action(val_t self, val_t param0) {
33691 struct trace_t trace = {NULL, NULL, 18495, LOCATE_parser___ReduceAction576___action};
33692 val_t variable[7];
33693 void **closurevariable = NULL;
33694 trace.prev = tracehead; tracehead = &trace;
33695 trace.file = LOCATE_parser;
33696 variable[0] = self;
33697 variable[1] = param0;
33698 variable[3] = NIT_NULL /*null*/;
33699 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33700 variable[4] = variable[5];
33701 variable[5] = variable[4] /*nodearraylist1*/;
33702 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33703 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction576___action, LOCATE_parser, 18500); nit_exit(1);}
33704 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
33705 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(112)) /*Parser::go_to*/;
33706 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
33707 return_label1184: while(false);
33708 tracehead = trace.prev;
33709 return;
33710 }
33711 void parser___ReduceAction576___init(val_t self, int* init_table) {
33712 struct trace_t trace = {NULL, NULL, 18504, LOCATE_parser___ReduceAction576___init};
33713 val_t variable[2];
33714 void **closurevariable = NULL;
33715 trace.prev = tracehead; tracehead = &trace;
33716 trace.file = LOCATE_parser;
33717 variable[0] = self;
33718 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction576].i]) return;
33719 return_label1185: while(false);
33720 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction576].i] = 1;
33721 tracehead = trace.prev;
33722 return;
33723 }
33724 void parser___ReduceAction577___action(val_t self, val_t param0) {
33725 struct trace_t trace = {NULL, NULL, 18508, LOCATE_parser___ReduceAction577___action};
33726 val_t variable[11];
33727 void **closurevariable = NULL;
33728 trace.prev = tracehead; tracehead = &trace;
33729 trace.file = LOCATE_parser;
33730 variable[0] = self;
33731 variable[1] = param0;
33732 variable[3] = NIT_NULL /*null*/;
33733 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33734 variable[4] = variable[5];
33735 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33736 variable[5] = variable[6];
33737 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33738 variable[6] = variable[7];
33739 variable[7] = variable[6] /*nodearraylist1*/;
33740 variable[8] = TAG_Bool(( variable[7] /*tkwnotnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwnotnode2*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
33741 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction577___action, LOCATE_parser, 18515); nit_exit(1);}
33742 variable[8] = variable[4] /*nodearraylist3*/;
33743 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33744 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction577___action, LOCATE_parser, 18517); nit_exit(1);}
33745 variable[10] = NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr( variable[7] /*tkwnotnode2*/, variable[8] /*pexprnode3*/); /*new ANotExpr*/
33746 variable[9] = variable[10];
33747 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
33748 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(112)) /*Parser::go_to*/;
33749 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
33750 return_label1186: while(false);
33751 tracehead = trace.prev;
33752 return;
33753 }
33754 void parser___ReduceAction577___init(val_t self, int* init_table) {
33755 struct trace_t trace = {NULL, NULL, 18525, LOCATE_parser___ReduceAction577___init};
33756 val_t variable[2];
33757 void **closurevariable = NULL;
33758 trace.prev = tracehead; tracehead = &trace;
33759 trace.file = LOCATE_parser;
33760 variable[0] = self;
33761 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction577].i]) return;
33762 return_label1187: while(false);
33763 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction577].i] = 1;
33764 tracehead = trace.prev;
33765 return;
33766 }
33767 void parser___ReduceAction578___action(val_t self, val_t param0) {
33768 struct trace_t trace = {NULL, NULL, 18529, LOCATE_parser___ReduceAction578___action};
33769 val_t variable[7];
33770 void **closurevariable = NULL;
33771 trace.prev = tracehead; tracehead = &trace;
33772 trace.file = LOCATE_parser;
33773 variable[0] = self;
33774 variable[1] = param0;
33775 variable[3] = NIT_NULL /*null*/;
33776 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33777 variable[4] = variable[5];
33778 variable[5] = variable[4] /*nodearraylist1*/;
33779 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33780 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction578___action, LOCATE_parser, 18534); nit_exit(1);}
33781 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
33782 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(113)) /*Parser::go_to*/;
33783 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
33784 return_label1188: while(false);
33785 tracehead = trace.prev;
33786 return;
33787 }
33788 void parser___ReduceAction578___init(val_t self, int* init_table) {
33789 struct trace_t trace = {NULL, NULL, 18538, LOCATE_parser___ReduceAction578___init};
33790 val_t variable[2];
33791 void **closurevariable = NULL;
33792 trace.prev = tracehead; tracehead = &trace;
33793 trace.file = LOCATE_parser;
33794 variable[0] = self;
33795 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction578].i]) return;
33796 return_label1189: while(false);
33797 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction578].i] = 1;
33798 tracehead = trace.prev;
33799 return;
33800 }
33801 void parser___ReduceAction579___action(val_t self, val_t param0) {
33802 struct trace_t trace = {NULL, NULL, 18542, LOCATE_parser___ReduceAction579___action};
33803 val_t variable[12];
33804 void **closurevariable = NULL;
33805 trace.prev = tracehead; tracehead = &trace;
33806 trace.file = LOCATE_parser;
33807 variable[0] = self;
33808 variable[1] = param0;
33809 variable[3] = NIT_NULL /*null*/;
33810 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33811 variable[4] = variable[5];
33812 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33813 variable[5] = variable[6];
33814 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33815 variable[6] = variable[7];
33816 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33817 variable[7] = variable[8];
33818 variable[8] = variable[7] /*nodearraylist1*/;
33819 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33820 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction579___action, LOCATE_parser, 18550); nit_exit(1);}
33821 variable[9] = variable[4] /*nodearraylist4*/;
33822 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33823 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction579___action, LOCATE_parser, 18552); nit_exit(1);}
33824 variable[11] = NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AEqExpr*/
33825 variable[10] = variable[11];
33826 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
33827 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(113)) /*Parser::go_to*/;
33828 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
33829 return_label1190: while(false);
33830 tracehead = trace.prev;
33831 return;
33832 }
33833 void parser___ReduceAction579___init(val_t self, int* init_table) {
33834 struct trace_t trace = {NULL, NULL, 18560, LOCATE_parser___ReduceAction579___init};
33835 val_t variable[2];
33836 void **closurevariable = NULL;
33837 trace.prev = tracehead; tracehead = &trace;
33838 trace.file = LOCATE_parser;
33839 variable[0] = self;
33840 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction579].i]) return;
33841 return_label1191: while(false);
33842 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction579].i] = 1;
33843 tracehead = trace.prev;
33844 return;
33845 }
33846 void parser___ReduceAction580___action(val_t self, val_t param0) {
33847 struct trace_t trace = {NULL, NULL, 18564, LOCATE_parser___ReduceAction580___action};
33848 val_t variable[12];
33849 void **closurevariable = NULL;
33850 trace.prev = tracehead; tracehead = &trace;
33851 trace.file = LOCATE_parser;
33852 variable[0] = self;
33853 variable[1] = param0;
33854 variable[3] = NIT_NULL /*null*/;
33855 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33856 variable[4] = variable[5];
33857 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33858 variable[5] = variable[6];
33859 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33860 variable[6] = variable[7];
33861 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33862 variable[7] = variable[8];
33863 variable[8] = variable[7] /*nodearraylist1*/;
33864 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33865 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction580___action, LOCATE_parser, 18572); nit_exit(1);}
33866 variable[9] = variable[4] /*nodearraylist4*/;
33867 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33868 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction580___action, LOCATE_parser, 18574); nit_exit(1);}
33869 variable[11] = NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AEeExpr*/
33870 variable[10] = variable[11];
33871 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
33872 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(113)) /*Parser::go_to*/;
33873 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
33874 return_label1192: while(false);
33875 tracehead = trace.prev;
33876 return;
33877 }
33878 void parser___ReduceAction580___init(val_t self, int* init_table) {
33879 struct trace_t trace = {NULL, NULL, 18582, LOCATE_parser___ReduceAction580___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(variable[0])->vft[INIT_TABLE_POS_ReduceAction580].i]) return;
33886 return_label1193: while(false);
33887 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction580].i] = 1;
33888 tracehead = trace.prev;
33889 return;
33890 }
33891 void parser___ReduceAction581___action(val_t self, val_t param0) {
33892 struct trace_t trace = {NULL, NULL, 18586, LOCATE_parser___ReduceAction581___action};
33893 val_t variable[12];
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] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33901 variable[4] = variable[5];
33902 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33903 variable[5] = variable[6];
33904 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33905 variable[6] = variable[7];
33906 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33907 variable[7] = variable[8];
33908 variable[8] = variable[7] /*nodearraylist1*/;
33909 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33910 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction581___action, LOCATE_parser, 18594); nit_exit(1);}
33911 variable[9] = variable[4] /*nodearraylist4*/;
33912 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33913 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction581___action, LOCATE_parser, 18596); nit_exit(1);}
33914 variable[11] = NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ANeExpr*/
33915 variable[10] = variable[11];
33916 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
33917 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(113)) /*Parser::go_to*/;
33918 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
33919 return_label1194: while(false);
33920 tracehead = trace.prev;
33921 return;
33922 }
33923 void parser___ReduceAction581___init(val_t self, int* init_table) {
33924 struct trace_t trace = {NULL, NULL, 18604, LOCATE_parser___ReduceAction581___init};
33925 val_t variable[2];
33926 void **closurevariable = NULL;
33927 trace.prev = tracehead; tracehead = &trace;
33928 trace.file = LOCATE_parser;
33929 variable[0] = self;
33930 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction581].i]) return;
33931 return_label1195: while(false);
33932 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction581].i] = 1;
33933 tracehead = trace.prev;
33934 return;
33935 }
33936 void parser___ReduceAction582___action(val_t self, val_t param0) {
33937 struct trace_t trace = {NULL, NULL, 18608, LOCATE_parser___ReduceAction582___action};
33938 val_t variable[12];
33939 void **closurevariable = NULL;
33940 trace.prev = tracehead; tracehead = &trace;
33941 trace.file = LOCATE_parser;
33942 variable[0] = self;
33943 variable[1] = param0;
33944 variable[3] = NIT_NULL /*null*/;
33945 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33946 variable[4] = variable[5];
33947 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33948 variable[5] = variable[6];
33949 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33950 variable[6] = variable[7];
33951 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33952 variable[7] = variable[8];
33953 variable[8] = variable[7] /*nodearraylist1*/;
33954 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33955 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction582___action, LOCATE_parser, 18616); nit_exit(1);}
33956 variable[9] = variable[4] /*nodearraylist4*/;
33957 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33958 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction582___action, LOCATE_parser, 18618); nit_exit(1);}
33959 variable[11] = NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ALtExpr*/
33960 variable[10] = variable[11];
33961 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
33962 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(113)) /*Parser::go_to*/;
33963 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
33964 return_label1196: while(false);
33965 tracehead = trace.prev;
33966 return;
33967 }
33968 void parser___ReduceAction582___init(val_t self, int* init_table) {
33969 struct trace_t trace = {NULL, NULL, 18626, LOCATE_parser___ReduceAction582___init};
33970 val_t variable[2];
33971 void **closurevariable = NULL;
33972 trace.prev = tracehead; tracehead = &trace;
33973 trace.file = LOCATE_parser;
33974 variable[0] = self;
33975 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction582].i]) return;
33976 return_label1197: while(false);
33977 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction582].i] = 1;
33978 tracehead = trace.prev;
33979 return;
33980 }
33981 void parser___ReduceAction583___action(val_t self, val_t param0) {
33982 struct trace_t trace = {NULL, NULL, 18630, LOCATE_parser___ReduceAction583___action};
33983 val_t variable[12];
33984 void **closurevariable = NULL;
33985 trace.prev = tracehead; tracehead = &trace;
33986 trace.file = LOCATE_parser;
33987 variable[0] = self;
33988 variable[1] = param0;
33989 variable[3] = NIT_NULL /*null*/;
33990 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33991 variable[4] = variable[5];
33992 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33993 variable[5] = variable[6];
33994 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33995 variable[6] = variable[7];
33996 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33997 variable[7] = variable[8];
33998 variable[8] = variable[7] /*nodearraylist1*/;
33999 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34000 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction583___action, LOCATE_parser, 18638); nit_exit(1);}
34001 variable[9] = variable[4] /*nodearraylist4*/;
34002 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34003 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction583___action, LOCATE_parser, 18640); nit_exit(1);}
34004 variable[11] = NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ALeExpr*/
34005 variable[10] = variable[11];
34006 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
34007 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(113)) /*Parser::go_to*/;
34008 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
34009 return_label1198: while(false);
34010 tracehead = trace.prev;
34011 return;
34012 }
34013 void parser___ReduceAction583___init(val_t self, int* init_table) {
34014 struct trace_t trace = {NULL, NULL, 18648, LOCATE_parser___ReduceAction583___init};
34015 val_t variable[2];
34016 void **closurevariable = NULL;
34017 trace.prev = tracehead; tracehead = &trace;
34018 trace.file = LOCATE_parser;
34019 variable[0] = self;
34020 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction583].i]) return;
34021 return_label1199: while(false);
34022 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction583].i] = 1;
34023 tracehead = trace.prev;
34024 return;
34025 }
34026 void parser___ReduceAction584___action(val_t self, val_t param0) {
34027 struct trace_t trace = {NULL, NULL, 18652, LOCATE_parser___ReduceAction584___action};
34028 val_t variable[12];
34029 void **closurevariable = NULL;
34030 trace.prev = tracehead; tracehead = &trace;
34031 trace.file = LOCATE_parser;
34032 variable[0] = self;
34033 variable[1] = param0;
34034 variable[3] = NIT_NULL /*null*/;
34035 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34036 variable[4] = variable[5];
34037 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34038 variable[5] = variable[6];
34039 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34040 variable[6] = variable[7];
34041 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34042 variable[7] = variable[8];
34043 variable[8] = variable[7] /*nodearraylist1*/;
34044 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34045 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction584___action, LOCATE_parser, 18660); nit_exit(1);}
34046 variable[9] = variable[4] /*nodearraylist4*/;
34047 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34048 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction584___action, LOCATE_parser, 18662); nit_exit(1);}
34049 variable[11] = NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AGtExpr*/
34050 variable[10] = variable[11];
34051 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
34052 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(113)) /*Parser::go_to*/;
34053 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
34054 return_label1200: while(false);
34055 tracehead = trace.prev;
34056 return;
34057 }
34058 void parser___ReduceAction584___init(val_t self, int* init_table) {
34059 struct trace_t trace = {NULL, NULL, 18670, LOCATE_parser___ReduceAction584___init};
34060 val_t variable[2];
34061 void **closurevariable = NULL;
34062 trace.prev = tracehead; tracehead = &trace;
34063 trace.file = LOCATE_parser;
34064 variable[0] = self;
34065 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction584].i]) return;
34066 return_label1201: while(false);
34067 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction584].i] = 1;
34068 tracehead = trace.prev;
34069 return;
34070 }
34071 void parser___ReduceAction585___action(val_t self, val_t param0) {
34072 struct trace_t trace = {NULL, NULL, 18674, LOCATE_parser___ReduceAction585___action};
34073 val_t variable[12];
34074 void **closurevariable = NULL;
34075 trace.prev = tracehead; tracehead = &trace;
34076 trace.file = LOCATE_parser;
34077 variable[0] = self;
34078 variable[1] = param0;
34079 variable[3] = NIT_NULL /*null*/;
34080 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34081 variable[4] = variable[5];
34082 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34083 variable[5] = variable[6];
34084 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34085 variable[6] = variable[7];
34086 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34087 variable[7] = variable[8];
34088 variable[8] = variable[7] /*nodearraylist1*/;
34089 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34090 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction585___action, LOCATE_parser, 18682); nit_exit(1);}
34091 variable[9] = variable[4] /*nodearraylist4*/;
34092 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34093 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction585___action, LOCATE_parser, 18684); nit_exit(1);}
34094 variable[11] = NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AGeExpr*/
34095 variable[10] = variable[11];
34096 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
34097 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(113)) /*Parser::go_to*/;
34098 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
34099 return_label1202: while(false);
34100 tracehead = trace.prev;
34101 return;
34102 }
34103 void parser___ReduceAction585___init(val_t self, int* init_table) {
34104 struct trace_t trace = {NULL, NULL, 18692, LOCATE_parser___ReduceAction585___init};
34105 val_t variable[2];
34106 void **closurevariable = NULL;
34107 trace.prev = tracehead; tracehead = &trace;
34108 trace.file = LOCATE_parser;
34109 variable[0] = self;
34110 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction585].i]) return;
34111 return_label1203: while(false);
34112 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction585].i] = 1;
34113 tracehead = trace.prev;
34114 return;
34115 }
34116 void parser___ReduceAction586___action(val_t self, val_t param0) {
34117 struct trace_t trace = {NULL, NULL, 18696, LOCATE_parser___ReduceAction586___action};
34118 val_t variable[12];
34119 void **closurevariable = NULL;
34120 trace.prev = tracehead; tracehead = &trace;
34121 trace.file = LOCATE_parser;
34122 variable[0] = self;
34123 variable[1] = param0;
34124 variable[3] = NIT_NULL /*null*/;
34125 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34126 variable[4] = variable[5];
34127 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34128 variable[5] = variable[6];
34129 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34130 variable[6] = variable[7];
34131 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34132 variable[7] = variable[8];
34133 variable[8] = variable[7] /*nodearraylist1*/;
34134 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34135 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction586___action, LOCATE_parser, 18704); nit_exit(1);}
34136 variable[9] = variable[4] /*nodearraylist4*/;
34137 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34138 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction586___action, LOCATE_parser, 18706); nit_exit(1);}
34139 variable[11] = NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AStarshipExpr*/
34140 variable[10] = variable[11];
34141 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
34142 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(113)) /*Parser::go_to*/;
34143 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
34144 return_label1204: while(false);
34145 tracehead = trace.prev;
34146 return;
34147 }
34148 void parser___ReduceAction586___init(val_t self, int* init_table) {
34149 struct trace_t trace = {NULL, NULL, 18714, LOCATE_parser___ReduceAction586___init};
34150 val_t variable[2];
34151 void **closurevariable = NULL;
34152 trace.prev = tracehead; tracehead = &trace;
34153 trace.file = LOCATE_parser;
34154 variable[0] = self;
34155 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction586].i]) return;
34156 return_label1205: while(false);
34157 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction586].i] = 1;
34158 tracehead = trace.prev;
34159 return;
34160 }
34161 void parser___ReduceAction587___action(val_t self, val_t param0) {
34162 struct trace_t trace = {NULL, NULL, 18718, LOCATE_parser___ReduceAction587___action};
34163 val_t variable[12];
34164 void **closurevariable = NULL;
34165 trace.prev = tracehead; tracehead = &trace;
34166 trace.file = LOCATE_parser;
34167 variable[0] = self;
34168 variable[1] = param0;
34169 variable[3] = NIT_NULL /*null*/;
34170 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34171 variable[4] = variable[5];
34172 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34173 variable[5] = variable[6];
34174 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34175 variable[6] = variable[7];
34176 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34177 variable[7] = variable[8];
34178 variable[8] = variable[7] /*nodearraylist1*/;
34179 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34180 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction587___action, LOCATE_parser, 18726); nit_exit(1);}
34181 variable[9] = variable[4] /*nodearraylist4*/;
34182 variable[10] = TAG_Bool(( variable[9] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[9] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
34183 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction587___action, LOCATE_parser, 18728); nit_exit(1);}
34184 variable[11] = NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr( variable[8] /*pexprnode2*/, variable[9] /*ptypenode3*/); /*new AIsaExpr*/
34185 variable[10] = variable[11];
34186 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
34187 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(113)) /*Parser::go_to*/;
34188 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
34189 return_label1206: while(false);
34190 tracehead = trace.prev;
34191 return;
34192 }
34193 void parser___ReduceAction587___init(val_t self, int* init_table) {
34194 struct trace_t trace = {NULL, NULL, 18736, LOCATE_parser___ReduceAction587___init};
34195 val_t variable[2];
34196 void **closurevariable = NULL;
34197 trace.prev = tracehead; tracehead = &trace;
34198 trace.file = LOCATE_parser;
34199 variable[0] = self;
34200 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction587].i]) return;
34201 return_label1207: while(false);
34202 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction587].i] = 1;
34203 tracehead = trace.prev;
34204 return;
34205 }
34206 void parser___ReduceAction588___action(val_t self, val_t param0) {
34207 struct trace_t trace = {NULL, NULL, 18740, LOCATE_parser___ReduceAction588___action};
34208 val_t variable[7];
34209 void **closurevariable = NULL;
34210 trace.prev = tracehead; tracehead = &trace;
34211 trace.file = LOCATE_parser;
34212 variable[0] = self;
34213 variable[1] = param0;
34214 variable[3] = NIT_NULL /*null*/;
34215 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34216 variable[4] = variable[5];
34217 variable[5] = variable[4] /*nodearraylist1*/;
34218 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34219 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction588___action, LOCATE_parser, 18745); nit_exit(1);}
34220 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
34221 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(114)) /*Parser::go_to*/;
34222 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
34223 return_label1208: while(false);
34224 tracehead = trace.prev;
34225 return;
34226 }
34227 void parser___ReduceAction588___init(val_t self, int* init_table) {
34228 struct trace_t trace = {NULL, NULL, 18749, LOCATE_parser___ReduceAction588___init};
34229 val_t variable[2];
34230 void **closurevariable = NULL;
34231 trace.prev = tracehead; tracehead = &trace;
34232 trace.file = LOCATE_parser;
34233 variable[0] = self;
34234 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction588].i]) return;
34235 return_label1209: while(false);
34236 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction588].i] = 1;
34237 tracehead = trace.prev;
34238 return;
34239 }
34240 void parser___ReduceAction589___action(val_t self, val_t param0) {
34241 struct trace_t trace = {NULL, NULL, 18753, LOCATE_parser___ReduceAction589___action};
34242 val_t variable[12];
34243 void **closurevariable = NULL;
34244 trace.prev = tracehead; tracehead = &trace;
34245 trace.file = LOCATE_parser;
34246 variable[0] = self;
34247 variable[1] = param0;
34248 variable[3] = NIT_NULL /*null*/;
34249 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34250 variable[4] = variable[5];
34251 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34252 variable[5] = variable[6];
34253 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34254 variable[6] = variable[7];
34255 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34256 variable[7] = variable[8];
34257 variable[8] = variable[7] /*nodearraylist1*/;
34258 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34259 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction589___action, LOCATE_parser, 18761); nit_exit(1);}
34260 variable[9] = variable[4] /*nodearraylist4*/;
34261 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34262 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction589___action, LOCATE_parser, 18763); nit_exit(1);}
34263 variable[11] = NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new APlusExpr*/
34264 variable[10] = variable[11];
34265 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
34266 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(114)) /*Parser::go_to*/;
34267 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
34268 return_label1210: while(false);
34269 tracehead = trace.prev;
34270 return;
34271 }
34272 void parser___ReduceAction589___init(val_t self, int* init_table) {
34273 struct trace_t trace = {NULL, NULL, 18771, LOCATE_parser___ReduceAction589___init};
34274 val_t variable[2];
34275 void **closurevariable = NULL;
34276 trace.prev = tracehead; tracehead = &trace;
34277 trace.file = LOCATE_parser;
34278 variable[0] = self;
34279 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction589].i]) return;
34280 return_label1211: while(false);
34281 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction589].i] = 1;
34282 tracehead = trace.prev;
34283 return;
34284 }
34285 void parser___ReduceAction590___action(val_t self, val_t param0) {
34286 struct trace_t trace = {NULL, NULL, 18775, LOCATE_parser___ReduceAction590___action};
34287 val_t variable[12];
34288 void **closurevariable = NULL;
34289 trace.prev = tracehead; tracehead = &trace;
34290 trace.file = LOCATE_parser;
34291 variable[0] = self;
34292 variable[1] = param0;
34293 variable[3] = NIT_NULL /*null*/;
34294 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34295 variable[4] = variable[5];
34296 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34297 variable[5] = variable[6];
34298 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34299 variable[6] = variable[7];
34300 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34301 variable[7] = variable[8];
34302 variable[8] = variable[7] /*nodearraylist1*/;
34303 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34304 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction590___action, LOCATE_parser, 18783); nit_exit(1);}
34305 variable[9] = variable[4] /*nodearraylist4*/;
34306 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34307 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction590___action, LOCATE_parser, 18785); nit_exit(1);}
34308 variable[11] = NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AMinusExpr*/
34309 variable[10] = variable[11];
34310 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
34311 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(114)) /*Parser::go_to*/;
34312 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
34313 return_label1212: while(false);
34314 tracehead = trace.prev;
34315 return;
34316 }
34317 void parser___ReduceAction590___init(val_t self, int* init_table) {
34318 struct trace_t trace = {NULL, NULL, 18793, LOCATE_parser___ReduceAction590___init};
34319 val_t variable[2];
34320 void **closurevariable = NULL;
34321 trace.prev = tracehead; tracehead = &trace;
34322 trace.file = LOCATE_parser;
34323 variable[0] = self;
34324 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction590].i]) return;
34325 return_label1213: while(false);
34326 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction590].i] = 1;
34327 tracehead = trace.prev;
34328 return;
34329 }
34330 void parser___ReduceAction591___action(val_t self, val_t param0) {
34331 struct trace_t trace = {NULL, NULL, 18797, LOCATE_parser___ReduceAction591___action};
34332 val_t variable[7];
34333 void **closurevariable = NULL;
34334 trace.prev = tracehead; tracehead = &trace;
34335 trace.file = LOCATE_parser;
34336 variable[0] = self;
34337 variable[1] = param0;
34338 variable[3] = NIT_NULL /*null*/;
34339 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34340 variable[4] = variable[5];
34341 variable[5] = variable[4] /*nodearraylist1*/;
34342 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34343 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction591___action, LOCATE_parser, 18802); nit_exit(1);}
34344 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
34345 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(115)) /*Parser::go_to*/;
34346 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
34347 return_label1214: while(false);
34348 tracehead = trace.prev;
34349 return;
34350 }
34351 void parser___ReduceAction591___init(val_t self, int* init_table) {
34352 struct trace_t trace = {NULL, NULL, 18806, LOCATE_parser___ReduceAction591___init};
34353 val_t variable[2];
34354 void **closurevariable = NULL;
34355 trace.prev = tracehead; tracehead = &trace;
34356 trace.file = LOCATE_parser;
34357 variable[0] = self;
34358 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction591].i]) return;
34359 return_label1215: while(false);
34360 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction591].i] = 1;
34361 tracehead = trace.prev;
34362 return;
34363 }
34364 void parser___ReduceAction592___action(val_t self, val_t param0) {
34365 struct trace_t trace = {NULL, NULL, 18810, LOCATE_parser___ReduceAction592___action};
34366 val_t variable[12];
34367 void **closurevariable = NULL;
34368 trace.prev = tracehead; tracehead = &trace;
34369 trace.file = LOCATE_parser;
34370 variable[0] = self;
34371 variable[1] = param0;
34372 variable[3] = NIT_NULL /*null*/;
34373 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34374 variable[4] = variable[5];
34375 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34376 variable[5] = variable[6];
34377 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34378 variable[6] = variable[7];
34379 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34380 variable[7] = variable[8];
34381 variable[8] = variable[7] /*nodearraylist1*/;
34382 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34383 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction592___action, LOCATE_parser, 18818); nit_exit(1);}
34384 variable[9] = variable[4] /*nodearraylist4*/;
34385 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34386 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction592___action, LOCATE_parser, 18820); nit_exit(1);}
34387 variable[11] = NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AStarExpr*/
34388 variable[10] = variable[11];
34389 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
34390 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(115)) /*Parser::go_to*/;
34391 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
34392 return_label1216: while(false);
34393 tracehead = trace.prev;
34394 return;
34395 }
34396 void parser___ReduceAction592___init(val_t self, int* init_table) {
34397 struct trace_t trace = {NULL, NULL, 18828, LOCATE_parser___ReduceAction592___init};
34398 val_t variable[2];
34399 void **closurevariable = NULL;
34400 trace.prev = tracehead; tracehead = &trace;
34401 trace.file = LOCATE_parser;
34402 variable[0] = self;
34403 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction592].i]) return;
34404 return_label1217: while(false);
34405 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction592].i] = 1;
34406 tracehead = trace.prev;
34407 return;
34408 }
34409 void parser___ReduceAction593___action(val_t self, val_t param0) {
34410 struct trace_t trace = {NULL, NULL, 18832, LOCATE_parser___ReduceAction593___action};
34411 val_t variable[12];
34412 void **closurevariable = NULL;
34413 trace.prev = tracehead; tracehead = &trace;
34414 trace.file = LOCATE_parser;
34415 variable[0] = self;
34416 variable[1] = param0;
34417 variable[3] = NIT_NULL /*null*/;
34418 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34419 variable[4] = variable[5];
34420 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34421 variable[5] = variable[6];
34422 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34423 variable[6] = variable[7];
34424 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34425 variable[7] = variable[8];
34426 variable[8] = variable[7] /*nodearraylist1*/;
34427 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34428 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction593___action, LOCATE_parser, 18840); nit_exit(1);}
34429 variable[9] = variable[4] /*nodearraylist4*/;
34430 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34431 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction593___action, LOCATE_parser, 18842); nit_exit(1);}
34432 variable[11] = NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ASlashExpr*/
34433 variable[10] = variable[11];
34434 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
34435 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(115)) /*Parser::go_to*/;
34436 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
34437 return_label1218: while(false);
34438 tracehead = trace.prev;
34439 return;
34440 }
34441 void parser___ReduceAction593___init(val_t self, int* init_table) {
34442 struct trace_t trace = {NULL, NULL, 18850, LOCATE_parser___ReduceAction593___init};
34443 val_t variable[2];
34444 void **closurevariable = NULL;
34445 trace.prev = tracehead; tracehead = &trace;
34446 trace.file = LOCATE_parser;
34447 variable[0] = self;
34448 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction593].i]) return;
34449 return_label1219: while(false);
34450 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction593].i] = 1;
34451 tracehead = trace.prev;
34452 return;
34453 }
34454 void parser___ReduceAction594___action(val_t self, val_t param0) {
34455 struct trace_t trace = {NULL, NULL, 18854, LOCATE_parser___ReduceAction594___action};
34456 val_t variable[12];
34457 void **closurevariable = NULL;
34458 trace.prev = tracehead; tracehead = &trace;
34459 trace.file = LOCATE_parser;
34460 variable[0] = self;
34461 variable[1] = param0;
34462 variable[3] = NIT_NULL /*null*/;
34463 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34464 variable[4] = variable[5];
34465 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34466 variable[5] = variable[6];
34467 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34468 variable[6] = variable[7];
34469 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34470 variable[7] = variable[8];
34471 variable[8] = variable[7] /*nodearraylist1*/;
34472 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34473 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction594___action, LOCATE_parser, 18862); nit_exit(1);}
34474 variable[9] = variable[4] /*nodearraylist4*/;
34475 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34476 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction594___action, LOCATE_parser, 18864); nit_exit(1);}
34477 variable[11] = NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new APercentExpr*/
34478 variable[10] = variable[11];
34479 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
34480 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(115)) /*Parser::go_to*/;
34481 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
34482 return_label1220: while(false);
34483 tracehead = trace.prev;
34484 return;
34485 }
34486 void parser___ReduceAction594___init(val_t self, int* init_table) {
34487 struct trace_t trace = {NULL, NULL, 18872, LOCATE_parser___ReduceAction594___init};
34488 val_t variable[2];
34489 void **closurevariable = NULL;
34490 trace.prev = tracehead; tracehead = &trace;
34491 trace.file = LOCATE_parser;
34492 variable[0] = self;
34493 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction594].i]) return;
34494 return_label1221: while(false);
34495 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction594].i] = 1;
34496 tracehead = trace.prev;
34497 return;
34498 }
34499 void parser___ReduceAction595___action(val_t self, val_t param0) {
34500 struct trace_t trace = {NULL, NULL, 18876, LOCATE_parser___ReduceAction595___action};
34501 val_t variable[7];
34502 void **closurevariable = NULL;
34503 trace.prev = tracehead; tracehead = &trace;
34504 trace.file = LOCATE_parser;
34505 variable[0] = self;
34506 variable[1] = param0;
34507 variable[3] = NIT_NULL /*null*/;
34508 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34509 variable[4] = variable[5];
34510 variable[5] = variable[4] /*nodearraylist1*/;
34511 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34512 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction595___action, LOCATE_parser, 18881); nit_exit(1);}
34513 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
34514 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(116)) /*Parser::go_to*/;
34515 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
34516 return_label1222: while(false);
34517 tracehead = trace.prev;
34518 return;
34519 }
34520 void parser___ReduceAction595___init(val_t self, int* init_table) {
34521 struct trace_t trace = {NULL, NULL, 18885, LOCATE_parser___ReduceAction595___init};
34522 val_t variable[2];
34523 void **closurevariable = NULL;
34524 trace.prev = tracehead; tracehead = &trace;
34525 trace.file = LOCATE_parser;
34526 variable[0] = self;
34527 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction595].i]) return;
34528 return_label1223: while(false);
34529 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction595].i] = 1;
34530 tracehead = trace.prev;
34531 return;
34532 }
34533 void parser___ReduceAction596___action(val_t self, val_t param0) {
34534 struct trace_t trace = {NULL, NULL, 18889, LOCATE_parser___ReduceAction596___action};
34535 val_t variable[11];
34536 void **closurevariable = NULL;
34537 trace.prev = tracehead; tracehead = &trace;
34538 trace.file = LOCATE_parser;
34539 variable[0] = self;
34540 variable[1] = param0;
34541 variable[3] = NIT_NULL /*null*/;
34542 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34543 variable[4] = variable[5];
34544 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34545 variable[5] = variable[6];
34546 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34547 variable[6] = variable[7];
34548 variable[7] = variable[6] /*nodearraylist1*/;
34549 variable[8] = TAG_Bool(( variable[7] /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
34550 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction596___action, LOCATE_parser, 18896); nit_exit(1);}
34551 variable[8] = variable[4] /*nodearraylist3*/;
34552 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34553 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction596___action, LOCATE_parser, 18898); nit_exit(1);}
34554 variable[10] = NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr( variable[7] /*tminusnode2*/, variable[8] /*pexprnode3*/); /*new AUminusExpr*/
34555 variable[9] = variable[10];
34556 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
34557 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(116)) /*Parser::go_to*/;
34558 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
34559 return_label1224: while(false);
34560 tracehead = trace.prev;
34561 return;
34562 }
34563 void parser___ReduceAction596___init(val_t self, int* init_table) {
34564 struct trace_t trace = {NULL, NULL, 18906, LOCATE_parser___ReduceAction596___init};
34565 val_t variable[2];
34566 void **closurevariable = NULL;
34567 trace.prev = tracehead; tracehead = &trace;
34568 trace.file = LOCATE_parser;
34569 variable[0] = self;
34570 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction596].i]) return;
34571 return_label1225: while(false);
34572 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction596].i] = 1;
34573 tracehead = trace.prev;
34574 return;
34575 }
34576 void parser___ReduceAction597___action(val_t self, val_t param0) {
34577 struct trace_t trace = {NULL, NULL, 18910, LOCATE_parser___ReduceAction597___action};
34578 val_t variable[11];
34579 void **closurevariable = NULL;
34580 trace.prev = tracehead; tracehead = &trace;
34581 trace.file = LOCATE_parser;
34582 variable[0] = self;
34583 variable[1] = param0;
34584 variable[3] = NIT_NULL /*null*/;
34585 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34586 variable[4] = variable[5];
34587 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34588 variable[5] = variable[6];
34589 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34590 variable[6] = variable[7];
34591 variable[7] = variable[6] /*nodearraylist1*/;
34592 variable[8] = TAG_Bool(( variable[7] /*tkwoncenode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwoncenode2*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/;
34593 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction597___action, LOCATE_parser, 18917); nit_exit(1);}
34594 variable[8] = variable[4] /*nodearraylist3*/;
34595 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34596 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction597___action, LOCATE_parser, 18919); nit_exit(1);}
34597 variable[10] = NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr( variable[7] /*tkwoncenode2*/, variable[8] /*pexprnode3*/); /*new AOnceExpr*/
34598 variable[9] = variable[10];
34599 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
34600 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(116)) /*Parser::go_to*/;
34601 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
34602 return_label1226: while(false);
34603 tracehead = trace.prev;
34604 return;
34605 }
34606 void parser___ReduceAction597___init(val_t self, int* init_table) {
34607 struct trace_t trace = {NULL, NULL, 18927, LOCATE_parser___ReduceAction597___init};
34608 val_t variable[2];
34609 void **closurevariable = NULL;
34610 trace.prev = tracehead; tracehead = &trace;
34611 trace.file = LOCATE_parser;
34612 variable[0] = self;
34613 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction597].i]) return;
34614 return_label1227: while(false);
34615 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction597].i] = 1;
34616 tracehead = trace.prev;
34617 return;
34618 }
34619 void parser___ReduceAction598___action(val_t self, val_t param0) {
34620 struct trace_t trace = {NULL, NULL, 18931, LOCATE_parser___ReduceAction598___action};
34621 val_t variable[7];
34622 void **closurevariable = NULL;
34623 trace.prev = tracehead; tracehead = &trace;
34624 trace.file = LOCATE_parser;
34625 variable[0] = self;
34626 variable[1] = param0;
34627 variable[3] = NIT_NULL /*null*/;
34628 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34629 variable[4] = variable[5];
34630 variable[5] = variable[4] /*nodearraylist1*/;
34631 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34632 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction598___action, LOCATE_parser, 18936); nit_exit(1);}
34633 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
34634 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(117)) /*Parser::go_to*/;
34635 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
34636 return_label1228: while(false);
34637 tracehead = trace.prev;
34638 return;
34639 }
34640 void parser___ReduceAction598___init(val_t self, int* init_table) {
34641 struct trace_t trace = {NULL, NULL, 18940, LOCATE_parser___ReduceAction598___init};
34642 val_t variable[2];
34643 void **closurevariable = NULL;
34644 trace.prev = tracehead; tracehead = &trace;
34645 trace.file = LOCATE_parser;
34646 variable[0] = self;
34647 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction598].i]) return;
34648 return_label1229: while(false);
34649 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction598].i] = 1;
34650 tracehead = trace.prev;
34651 return;
34652 }
34653 void parser___ReduceAction599___action(val_t self, val_t param0) {
34654 struct trace_t trace = {NULL, NULL, 18944, LOCATE_parser___ReduceAction599___action};
34655 val_t variable[14];
34656 void **closurevariable = NULL;
34657 trace.prev = tracehead; tracehead = &trace;
34658 trace.file = LOCATE_parser;
34659 variable[0] = self;
34660 variable[1] = param0;
34661 variable[3] = NIT_NULL /*null*/;
34662 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34663 variable[4] = variable[5];
34664 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34665 variable[5] = variable[6];
34666 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34667 variable[6] = variable[7];
34668 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34669 variable[7] = variable[8];
34670 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34671 variable[8] = variable[9];
34672 variable[9] = variable[7] /*nodearraylist1*/;
34673 variable[10] = TAG_Bool(( variable[9] /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
34674 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction599___action, LOCATE_parser, 18953); nit_exit(1);}
34675 variable[10] = variable[5] /*nodearraylist3*/;
34676 variable[11] = TAG_Bool(( variable[10] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[10] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
34677 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction599___action, LOCATE_parser, 18955); nit_exit(1);}
34678 variable[11] = variable[4] /*nodearraylist4*/;
34679 variable[12] = TAG_Bool(( variable[11] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
34680 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction599___action, LOCATE_parser, 18957); nit_exit(1);}
34681 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode5*/)( variable[11] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34682 if (UNTAG_Bool(variable[12])) { /*if*/
34683 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode6*/)( variable[8] /*listnode6*/) /*AbstractArray::is_empty*/;
34684 if (UNTAG_Bool(variable[12])) { /*if*/
34685 variable[8] = variable[11] /*listnode5*/ /*listnode6=*/;
34686 } else { /*if*/
34687 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[11] /*listnode5*/) /*IndexedCollection::append*/;
34688 }
34689 }
34690 variable[13] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable[9] /*tkwnewnode2*/, variable[10] /*ptypenode3*/, NIT_NULL /*null*/, variable[8] /*listnode6*/); /*new ANewExpr*/
34691 variable[12] = variable[13];
34692 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
34693 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(117)) /*Parser::go_to*/;
34694 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
34695 return_label1230: while(false);
34696 tracehead = trace.prev;
34697 return;
34698 }
34699 void parser___ReduceAction599___init(val_t self, int* init_table) {
34700 struct trace_t trace = {NULL, NULL, 18974, LOCATE_parser___ReduceAction599___init};
34701 val_t variable[2];
34702 void **closurevariable = NULL;
34703 trace.prev = tracehead; tracehead = &trace;
34704 trace.file = LOCATE_parser;
34705 variable[0] = self;
34706 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction599].i]) return;
34707 return_label1231: while(false);
34708 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction599].i] = 1;
34709 tracehead = trace.prev;
34710 return;
34711 }
34712 void parser___ReduceAction600___action(val_t self, val_t param0) {
34713 struct trace_t trace = {NULL, NULL, 18978, LOCATE_parser___ReduceAction600___action};
34714 val_t variable[10];
34715 void **closurevariable = NULL;
34716 trace.prev = tracehead; tracehead = &trace;
34717 trace.file = LOCATE_parser;
34718 variable[0] = self;
34719 variable[1] = param0;
34720 variable[3] = NIT_NULL /*null*/;
34721 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34722 variable[4] = variable[5];
34723 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34724 variable[5] = variable[6];
34725 variable[6] = variable[5] /*nodearraylist1*/;
34726 variable[7] = TAG_Bool(( variable[6] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34727 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction600___action, LOCATE_parser, 18984); nit_exit(1);}
34728 variable[7] = variable[4] /*nodearraylist2*/;
34729 variable[8] = TAG_Bool(( variable[7] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
34730 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction600___action, LOCATE_parser, 18986); nit_exit(1);}
34731 variable[9] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable[6] /*pexprnode2*/, variable[7] /*tattridnode3*/); /*new AAttrExpr*/
34732 variable[8] = variable[9];
34733 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
34734 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(118)) /*Parser::go_to*/;
34735 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
34736 return_label1232: while(false);
34737 tracehead = trace.prev;
34738 return;
34739 }
34740 void parser___ReduceAction600___init(val_t self, int* init_table) {
34741 struct trace_t trace = {NULL, NULL, 18994, LOCATE_parser___ReduceAction600___init};
34742 val_t variable[2];
34743 void **closurevariable = NULL;
34744 trace.prev = tracehead; tracehead = &trace;
34745 trace.file = LOCATE_parser;
34746 variable[0] = self;
34747 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction600].i]) return;
34748 return_label1233: while(false);
34749 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction600].i] = 1;
34750 tracehead = trace.prev;
34751 return;
34752 }
34753 void parser___ReduceAction601___action(val_t self, val_t param0) {
34754 struct trace_t trace = {NULL, NULL, 18998, LOCATE_parser___ReduceAction601___action};
34755 val_t variable[14];
34756 void **closurevariable = NULL;
34757 trace.prev = tracehead; tracehead = &trace;
34758 trace.file = LOCATE_parser;
34759 variable[0] = self;
34760 variable[1] = param0;
34761 variable[3] = NIT_NULL /*null*/;
34762 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34763 variable[4] = variable[5];
34764 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34765 variable[5] = variable[6];
34766 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34767 variable[6] = variable[7];
34768 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34769 variable[7] = variable[8];
34770 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34771 variable[8] = variable[9];
34772 variable[9] = variable[6] /*nodearraylist1*/;
34773 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34774 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction601___action, LOCATE_parser, 19007); nit_exit(1);}
34775 variable[10] = variable[5] /*nodearraylist2*/;
34776 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
34777 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction601___action, LOCATE_parser, 19009); nit_exit(1);}
34778 variable[11] = variable[4] /*nodearraylist3*/;
34779 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
34780 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction601___action, LOCATE_parser, 19011); nit_exit(1);}
34781 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34782 if (UNTAG_Bool(variable[12])) { /*if*/
34783 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
34784 if (UNTAG_Bool(variable[12])) { /*if*/
34785 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
34786 } else { /*if*/
34787 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
34788 }
34789 }
34790 variable[13] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode6*/); /*new ACallExpr*/
34791 variable[12] = variable[13];
34792 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
34793 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(118)) /*Parser::go_to*/;
34794 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
34795 return_label1234: while(false);
34796 tracehead = trace.prev;
34797 return;
34798 }
34799 void parser___ReduceAction601___init(val_t self, int* init_table) {
34800 struct trace_t trace = {NULL, NULL, 19028, LOCATE_parser___ReduceAction601___init};
34801 val_t variable[2];
34802 void **closurevariable = NULL;
34803 trace.prev = tracehead; tracehead = &trace;
34804 trace.file = LOCATE_parser;
34805 variable[0] = self;
34806 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction601].i]) return;
34807 return_label1235: while(false);
34808 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction601].i] = 1;
34809 tracehead = trace.prev;
34810 return;
34811 }
34812 void parser___ReduceAction602___action(val_t self, val_t param0) {
34813 struct trace_t trace = {NULL, NULL, 19032, LOCATE_parser___ReduceAction602___action};
34814 val_t variable[11];
34815 void **closurevariable = NULL;
34816 trace.prev = tracehead; tracehead = &trace;
34817 trace.file = LOCATE_parser;
34818 variable[0] = self;
34819 variable[1] = param0;
34820 variable[3] = NIT_NULL /*null*/;
34821 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34822 variable[4] = variable[5];
34823 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34824 variable[5] = variable[6];
34825 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34826 variable[6] = variable[7];
34827 variable[7] = variable[5] /*nodearraylist1*/;
34828 variable[8] = TAG_Bool(( variable[7] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
34829 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction602___action, LOCATE_parser, 19039); nit_exit(1);}
34830 variable[8] = variable[4] /*nodearraylist2*/;
34831 variable[9] = TAG_Bool(( variable[8] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
34832 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction602___action, LOCATE_parser, 19041); nit_exit(1);}
34833 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34834 if (UNTAG_Bool(variable[9])) { /*if*/
34835 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
34836 if (UNTAG_Bool(variable[9])) { /*if*/
34837 variable[6] = variable[8] /*listnode4*/ /*listnode5=*/;
34838 } else { /*if*/
34839 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[8] /*listnode4*/) /*IndexedCollection::append*/;
34840 }
34841 }
34842 variable[10] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable[7] /*tkwsupernode3*/, variable[6] /*listnode5*/); /*new ASuperExpr*/
34843 variable[9] = variable[10];
34844 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
34845 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(118)) /*Parser::go_to*/;
34846 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
34847 return_label1236: while(false);
34848 tracehead = trace.prev;
34849 return;
34850 }
34851 void parser___ReduceAction602___init(val_t self, int* init_table) {
34852 struct trace_t trace = {NULL, NULL, 19057, LOCATE_parser___ReduceAction602___init};
34853 val_t variable[2];
34854 void **closurevariable = NULL;
34855 trace.prev = tracehead; tracehead = &trace;
34856 trace.file = LOCATE_parser;
34857 variable[0] = self;
34858 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction602].i]) return;
34859 return_label1237: while(false);
34860 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction602].i] = 1;
34861 tracehead = trace.prev;
34862 return;
34863 }
34864 void parser___ReduceAction603___action(val_t self, val_t param0) {
34865 struct trace_t trace = {NULL, NULL, 19061, LOCATE_parser___ReduceAction603___action};
34866 val_t variable[13];
34867 void **closurevariable = NULL;
34868 trace.prev = tracehead; tracehead = &trace;
34869 trace.file = LOCATE_parser;
34870 variable[0] = self;
34871 variable[1] = param0;
34872 variable[3] = NIT_NULL /*null*/;
34873 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34874 variable[4] = variable[5];
34875 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34876 variable[5] = variable[6];
34877 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34878 variable[6] = variable[7];
34879 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34880 variable[7] = variable[8];
34881 variable[8] = variable[6] /*nodearraylist1*/;
34882 variable[9] = TAG_Bool(( variable[8] /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
34883 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction603___action, LOCATE_parser, 19069); nit_exit(1);}
34884 variable[9] = variable[5] /*nodearraylist2*/;
34885 variable[10] = TAG_Bool(( variable[9] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
34886 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction603___action, LOCATE_parser, 19071); nit_exit(1);}
34887 variable[10] = variable[4] /*nodearraylist3*/;
34888 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
34889 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction603___action, LOCATE_parser, 19073); nit_exit(1);}
34890 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34891 if (UNTAG_Bool(variable[11])) { /*if*/
34892 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
34893 if (UNTAG_Bool(variable[11])) { /*if*/
34894 variable[7] = variable[10] /*listnode4*/ /*listnode5=*/;
34895 } else { /*if*/
34896 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
34897 }
34898 }
34899 variable[12] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( variable[8] /*pqualifiednode2*/, variable[9] /*tkwsupernode3*/, variable[7] /*listnode5*/); /*new ASuperExpr*/
34900 variable[11] = variable[12];
34901 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
34902 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(118)) /*Parser::go_to*/;
34903 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
34904 return_label1238: while(false);
34905 tracehead = trace.prev;
34906 return;
34907 }
34908 void parser___ReduceAction603___init(val_t self, int* init_table) {
34909 struct trace_t trace = {NULL, NULL, 19089, LOCATE_parser___ReduceAction603___init};
34910 val_t variable[2];
34911 void **closurevariable = NULL;
34912 trace.prev = tracehead; tracehead = &trace;
34913 trace.file = LOCATE_parser;
34914 variable[0] = self;
34915 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction603].i]) return;
34916 return_label1239: while(false);
34917 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction603].i] = 1;
34918 tracehead = trace.prev;
34919 return;
34920 }
34921 void parser___ReduceAction604___action(val_t self, val_t param0) {
34922 struct trace_t trace = {NULL, NULL, 19093, LOCATE_parser___ReduceAction604___action};
34923 val_t variable[13];
34924 void **closurevariable = NULL;
34925 trace.prev = tracehead; tracehead = &trace;
34926 trace.file = LOCATE_parser;
34927 variable[0] = self;
34928 variable[1] = param0;
34929 variable[3] = NIT_NULL /*null*/;
34930 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34931 variable[4] = variable[5];
34932 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34933 variable[5] = variable[6];
34934 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34935 variable[6] = variable[7];
34936 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34937 variable[7] = variable[8];
34938 variable[8] = variable[6] /*nodearraylist1*/;
34939 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34940 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction604___action, LOCATE_parser, 19101); nit_exit(1);}
34941 variable[9] = variable[5] /*nodearraylist2*/;
34942 variable[10] = TAG_Bool(( variable[9] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
34943 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction604___action, LOCATE_parser, 19103); nit_exit(1);}
34944 variable[10] = variable[4] /*nodearraylist3*/;
34945 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
34946 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction604___action, LOCATE_parser, 19105); nit_exit(1);}
34947 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34948 if (UNTAG_Bool(variable[11])) { /*if*/
34949 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
34950 if (UNTAG_Bool(variable[11])) { /*if*/
34951 variable[7] = variable[10] /*listnode4*/ /*listnode5=*/;
34952 } else { /*if*/
34953 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
34954 }
34955 }
34956 variable[12] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[8] /*pexprnode2*/, variable[9] /*tkwinitnode3*/, variable[7] /*listnode5*/); /*new AInitExpr*/
34957 variable[11] = variable[12];
34958 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
34959 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(118)) /*Parser::go_to*/;
34960 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
34961 return_label1240: while(false);
34962 tracehead = trace.prev;
34963 return;
34964 }
34965 void parser___ReduceAction604___init(val_t self, int* init_table) {
34966 struct trace_t trace = {NULL, NULL, 19121, LOCATE_parser___ReduceAction604___init};
34967 val_t variable[2];
34968 void **closurevariable = NULL;
34969 trace.prev = tracehead; tracehead = &trace;
34970 trace.file = LOCATE_parser;
34971 variable[0] = self;
34972 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction604].i]) return;
34973 return_label1241: while(false);
34974 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction604].i] = 1;
34975 tracehead = trace.prev;
34976 return;
34977 }
34978 void parser___ReduceAction605___action(val_t self, val_t param0) {
34979 struct trace_t trace = {NULL, NULL, 19125, LOCATE_parser___ReduceAction605___action};
34980 val_t variable[18];
34981 void **closurevariable = NULL;
34982 trace.prev = tracehead; tracehead = &trace;
34983 trace.file = LOCATE_parser;
34984 variable[0] = self;
34985 variable[1] = param0;
34986 variable[3] = NIT_NULL /*null*/;
34987 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34988 variable[4] = variable[5];
34989 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34990 variable[5] = variable[6];
34991 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34992 variable[6] = variable[7];
34993 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34994 variable[7] = variable[8];
34995 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34996 variable[8] = variable[9];
34997 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34998 variable[9] = variable[10];
34999 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35000 variable[10] = variable[11];
35001 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
35002 variable[11] = variable[12];
35003 variable[12] = variable[10] /*nodearraylist1*/;
35004 variable[13] = TAG_Bool(( variable[12] /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
35005 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction605___action, LOCATE_parser, 19137); nit_exit(1);}
35006 variable[13] = variable[8] /*nodearraylist3*/;
35007 variable[14] = TAG_Bool(( variable[13] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[13] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
35008 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction605___action, LOCATE_parser, 19139); nit_exit(1);}
35009 variable[14] = variable[5] /*nodearraylist6*/;
35010 variable[15] = TAG_Bool(( variable[14] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
35011 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction605___action, LOCATE_parser, 19141); nit_exit(1);}
35012 variable[15] = variable[4] /*nodearraylist7*/;
35013 variable[16] = TAG_Bool(( variable[15] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
35014 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction605___action, LOCATE_parser, 19143); nit_exit(1);}
35015 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode5*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*listnode5*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*listnode5*/)( variable[15] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
35016 if (UNTAG_Bool(variable[16])) { /*if*/
35017 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode6*/)( variable[11] /*listnode6*/) /*AbstractArray::is_empty*/;
35018 if (UNTAG_Bool(variable[16])) { /*if*/
35019 variable[11] = variable[15] /*listnode5*/ /*listnode6=*/;
35020 } else { /*if*/
35021 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode6*/)( variable[11] /*listnode6*/, variable[15] /*listnode5*/) /*IndexedCollection::append*/;
35022 }
35023 }
35024 variable[17] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable[12] /*tkwnewnode2*/, variable[13] /*ptypenode3*/, variable[14] /*tidnode4*/, variable[11] /*listnode6*/); /*new ANewExpr*/
35025 variable[16] = variable[17];
35026 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
35027 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(118)) /*Parser::go_to*/;
35028 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
35029 return_label1242: while(false);
35030 tracehead = trace.prev;
35031 return;
35032 }
35033 void parser___ReduceAction605___init(val_t self, int* init_table) {
35034 struct trace_t trace = {NULL, NULL, 19160, LOCATE_parser___ReduceAction605___init};
35035 val_t variable[2];
35036 void **closurevariable = NULL;
35037 trace.prev = tracehead; tracehead = &trace;
35038 trace.file = LOCATE_parser;
35039 variable[0] = self;
35040 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction605].i]) return;
35041 return_label1243: while(false);
35042 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction605].i] = 1;
35043 tracehead = trace.prev;
35044 return;
35045 }
35046 void parser___ReduceAction606___action(val_t self, val_t param0) {
35047 struct trace_t trace = {NULL, NULL, 19164, LOCATE_parser___ReduceAction606___action};
35048 val_t variable[8];
35049 void **closurevariable = NULL;
35050 trace.prev = tracehead; tracehead = &trace;
35051 trace.file = LOCATE_parser;
35052 variable[0] = self;
35053 variable[1] = param0;
35054 variable[3] = NIT_NULL /*null*/;
35055 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35056 variable[4] = variable[5];
35057 variable[5] = variable[4] /*nodearraylist1*/;
35058 variable[6] = TAG_Bool(( variable[5] /*tkwselfnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwselfnode2*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/;
35059 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction606___action, LOCATE_parser, 19169); nit_exit(1);}
35060 variable[7] = NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr( variable[5] /*tkwselfnode2*/); /*new ASelfExpr*/
35061 variable[6] = variable[7];
35062 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
35063 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(118)) /*Parser::go_to*/;
35064 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
35065 return_label1244: while(false);
35066 tracehead = trace.prev;
35067 return;
35068 }
35069 void parser___ReduceAction606___init(val_t self, int* init_table) {
35070 struct trace_t trace = {NULL, NULL, 19176, LOCATE_parser___ReduceAction606___init};
35071 val_t variable[2];
35072 void **closurevariable = NULL;
35073 trace.prev = tracehead; tracehead = &trace;
35074 trace.file = LOCATE_parser;
35075 variable[0] = self;
35076 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction606].i]) return;
35077 return_label1245: while(false);
35078 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction606].i] = 1;
35079 tracehead = trace.prev;
35080 return;
35081 }
35082 void parser___ReduceAction607___action(val_t self, val_t param0) {
35083 struct trace_t trace = {NULL, NULL, 19180, LOCATE_parser___ReduceAction607___action};
35084 val_t variable[8];
35085 void **closurevariable = NULL;
35086 trace.prev = tracehead; tracehead = &trace;
35087 trace.file = LOCATE_parser;
35088 variable[0] = self;
35089 variable[1] = param0;
35090 variable[3] = NIT_NULL /*null*/;
35091 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35092 variable[4] = variable[5];
35093 variable[5] = variable[4] /*nodearraylist1*/;
35094 variable[6] = TAG_Bool(( variable[5] /*tkwtruenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwtruenode2*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/;
35095 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction607___action, LOCATE_parser, 19185); nit_exit(1);}
35096 variable[7] = NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr( variable[5] /*tkwtruenode2*/); /*new ATrueExpr*/
35097 variable[6] = variable[7];
35098 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
35099 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(118)) /*Parser::go_to*/;
35100 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
35101 return_label1246: while(false);
35102 tracehead = trace.prev;
35103 return;
35104 }
35105 void parser___ReduceAction607___init(val_t self, int* init_table) {
35106 struct trace_t trace = {NULL, NULL, 19192, LOCATE_parser___ReduceAction607___init};
35107 val_t variable[2];
35108 void **closurevariable = NULL;
35109 trace.prev = tracehead; tracehead = &trace;
35110 trace.file = LOCATE_parser;
35111 variable[0] = self;
35112 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction607].i]) return;
35113 return_label1247: while(false);
35114 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction607].i] = 1;
35115 tracehead = trace.prev;
35116 return;
35117 }
35118 void parser___ReduceAction608___action(val_t self, val_t param0) {
35119 struct trace_t trace = {NULL, NULL, 19196, LOCATE_parser___ReduceAction608___action};
35120 val_t variable[8];
35121 void **closurevariable = NULL;
35122 trace.prev = tracehead; tracehead = &trace;
35123 trace.file = LOCATE_parser;
35124 variable[0] = self;
35125 variable[1] = param0;
35126 variable[3] = NIT_NULL /*null*/;
35127 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35128 variable[4] = variable[5];
35129 variable[5] = variable[4] /*nodearraylist1*/;
35130 variable[6] = TAG_Bool(( variable[5] /*tkwfalsenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwfalsenode2*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/;
35131 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction608___action, LOCATE_parser, 19201); nit_exit(1);}
35132 variable[7] = NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr( variable[5] /*tkwfalsenode2*/); /*new AFalseExpr*/
35133 variable[6] = variable[7];
35134 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
35135 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(118)) /*Parser::go_to*/;
35136 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
35137 return_label1248: while(false);
35138 tracehead = trace.prev;
35139 return;
35140 }
35141 void parser___ReduceAction608___init(val_t self, int* init_table) {
35142 struct trace_t trace = {NULL, NULL, 19208, LOCATE_parser___ReduceAction608___init};
35143 val_t variable[2];
35144 void **closurevariable = NULL;
35145 trace.prev = tracehead; tracehead = &trace;
35146 trace.file = LOCATE_parser;
35147 variable[0] = self;
35148 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction608].i]) return;
35149 return_label1249: while(false);
35150 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction608].i] = 1;
35151 tracehead = trace.prev;
35152 return;
35153 }
35154 void parser___ReduceAction609___action(val_t self, val_t param0) {
35155 struct trace_t trace = {NULL, NULL, 19212, LOCATE_parser___ReduceAction609___action};
35156 val_t variable[8];
35157 void **closurevariable = NULL;
35158 trace.prev = tracehead; tracehead = &trace;
35159 trace.file = LOCATE_parser;
35160 variable[0] = self;
35161 variable[1] = param0;
35162 variable[3] = NIT_NULL /*null*/;
35163 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35164 variable[4] = variable[5];
35165 variable[5] = variable[4] /*nodearraylist1*/;
35166 variable[6] = TAG_Bool(( variable[5] /*tkwnullnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwnullnode2*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
35167 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction609___action, LOCATE_parser, 19217); nit_exit(1);}
35168 variable[7] = NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr( variable[5] /*tkwnullnode2*/); /*new ANullExpr*/
35169 variable[6] = variable[7];
35170 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
35171 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(118)) /*Parser::go_to*/;
35172 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
35173 return_label1250: while(false);
35174 tracehead = trace.prev;
35175 return;
35176 }
35177 void parser___ReduceAction609___init(val_t self, int* init_table) {
35178 struct trace_t trace = {NULL, NULL, 19224, LOCATE_parser___ReduceAction609___init};
35179 val_t variable[2];
35180 void **closurevariable = NULL;
35181 trace.prev = tracehead; tracehead = &trace;
35182 trace.file = LOCATE_parser;
35183 variable[0] = self;
35184 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction609].i]) return;
35185 return_label1251: while(false);
35186 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction609].i] = 1;
35187 tracehead = trace.prev;
35188 return;
35189 }
35190 void parser___ReduceAction610___action(val_t self, val_t param0) {
35191 struct trace_t trace = {NULL, NULL, 19228, LOCATE_parser___ReduceAction610___action};
35192 val_t variable[8];
35193 void **closurevariable = NULL;
35194 trace.prev = tracehead; tracehead = &trace;
35195 trace.file = LOCATE_parser;
35196 variable[0] = self;
35197 variable[1] = param0;
35198 variable[3] = NIT_NULL /*null*/;
35199 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35200 variable[4] = variable[5];
35201 variable[5] = variable[4] /*nodearraylist1*/;
35202 variable[6] = TAG_Bool(( variable[5] /*tnumbernode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tnumbernode2*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/;
35203 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction610___action, LOCATE_parser, 19233); nit_exit(1);}
35204 variable[7] = NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr( variable[5] /*tnumbernode2*/); /*new AIntExpr*/
35205 variable[6] = variable[7];
35206 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
35207 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(118)) /*Parser::go_to*/;
35208 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
35209 return_label1252: while(false);
35210 tracehead = trace.prev;
35211 return;
35212 }
35213 void parser___ReduceAction610___init(val_t self, int* init_table) {
35214 struct trace_t trace = {NULL, NULL, 19240, LOCATE_parser___ReduceAction610___init};
35215 val_t variable[2];
35216 void **closurevariable = NULL;
35217 trace.prev = tracehead; tracehead = &trace;
35218 trace.file = LOCATE_parser;
35219 variable[0] = self;
35220 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction610].i]) return;
35221 return_label1253: while(false);
35222 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction610].i] = 1;
35223 tracehead = trace.prev;
35224 return;
35225 }
35226 void parser___ReduceAction611___action(val_t self, val_t param0) {
35227 struct trace_t trace = {NULL, NULL, 19244, LOCATE_parser___ReduceAction611___action};
35228 val_t variable[8];
35229 void **closurevariable = NULL;
35230 trace.prev = tracehead; tracehead = &trace;
35231 trace.file = LOCATE_parser;
35232 variable[0] = self;
35233 variable[1] = param0;
35234 variable[3] = NIT_NULL /*null*/;
35235 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35236 variable[4] = variable[5];
35237 variable[5] = variable[4] /*nodearraylist1*/;
35238 variable[6] = TAG_Bool(( variable[5] /*tfloatnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tfloatnode2*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/;
35239 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction611___action, LOCATE_parser, 19249); nit_exit(1);}
35240 variable[7] = NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr( variable[5] /*tfloatnode2*/); /*new AFloatExpr*/
35241 variable[6] = variable[7];
35242 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
35243 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(118)) /*Parser::go_to*/;
35244 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
35245 return_label1254: while(false);
35246 tracehead = trace.prev;
35247 return;
35248 }
35249 void parser___ReduceAction611___init(val_t self, int* init_table) {
35250 struct trace_t trace = {NULL, NULL, 19256, LOCATE_parser___ReduceAction611___init};
35251 val_t variable[2];
35252 void **closurevariable = NULL;
35253 trace.prev = tracehead; tracehead = &trace;
35254 trace.file = LOCATE_parser;
35255 variable[0] = self;
35256 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction611].i]) return;
35257 return_label1255: while(false);
35258 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction611].i] = 1;
35259 tracehead = trace.prev;
35260 return;
35261 }
35262 void parser___ReduceAction612___action(val_t self, val_t param0) {
35263 struct trace_t trace = {NULL, NULL, 19260, LOCATE_parser___ReduceAction612___action};
35264 val_t variable[8];
35265 void **closurevariable = NULL;
35266 trace.prev = tracehead; tracehead = &trace;
35267 trace.file = LOCATE_parser;
35268 variable[0] = self;
35269 variable[1] = param0;
35270 variable[3] = NIT_NULL /*null*/;
35271 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35272 variable[4] = variable[5];
35273 variable[5] = variable[4] /*nodearraylist1*/;
35274 variable[6] = TAG_Bool(( variable[5] /*tcharnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tcharnode2*/, COLOR_TChar, ID_TChar)) /*cast TChar*/;
35275 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction612___action, LOCATE_parser, 19265); nit_exit(1);}
35276 variable[7] = NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr( variable[5] /*tcharnode2*/); /*new ACharExpr*/
35277 variable[6] = variable[7];
35278 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
35279 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(118)) /*Parser::go_to*/;
35280 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
35281 return_label1256: while(false);
35282 tracehead = trace.prev;
35283 return;
35284 }
35285 void parser___ReduceAction612___init(val_t self, int* init_table) {
35286 struct trace_t trace = {NULL, NULL, 19272, LOCATE_parser___ReduceAction612___init};
35287 val_t variable[2];
35288 void **closurevariable = NULL;
35289 trace.prev = tracehead; tracehead = &trace;
35290 trace.file = LOCATE_parser;
35291 variable[0] = self;
35292 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction612].i]) return;
35293 return_label1257: while(false);
35294 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction612].i] = 1;
35295 tracehead = trace.prev;
35296 return;
35297 }
35298 void parser___ReduceAction613___action(val_t self, val_t param0) {
35299 struct trace_t trace = {NULL, NULL, 19276, LOCATE_parser___ReduceAction613___action};
35300 val_t variable[8];
35301 void **closurevariable = NULL;
35302 trace.prev = tracehead; tracehead = &trace;
35303 trace.file = LOCATE_parser;
35304 variable[0] = self;
35305 variable[1] = param0;
35306 variable[3] = NIT_NULL /*null*/;
35307 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35308 variable[4] = variable[5];
35309 variable[5] = variable[4] /*nodearraylist1*/;
35310 variable[6] = TAG_Bool(( variable[5] /*tstringnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tstringnode2*/, COLOR_TString, ID_TString)) /*cast TString*/;
35311 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction613___action, LOCATE_parser, 19281); nit_exit(1);}
35312 variable[7] = NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr( variable[5] /*tstringnode2*/); /*new AStringExpr*/
35313 variable[6] = variable[7];
35314 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
35315 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(118)) /*Parser::go_to*/;
35316 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
35317 return_label1258: while(false);
35318 tracehead = trace.prev;
35319 return;
35320 }
35321 void parser___ReduceAction613___init(val_t self, int* init_table) {
35322 struct trace_t trace = {NULL, NULL, 19288, LOCATE_parser___ReduceAction613___init};
35323 val_t variable[2];
35324 void **closurevariable = NULL;
35325 trace.prev = tracehead; tracehead = &trace;
35326 trace.file = LOCATE_parser;
35327 variable[0] = self;
35328 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction613].i]) return;
35329 return_label1259: while(false);
35330 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction613].i] = 1;
35331 tracehead = trace.prev;
35332 return;
35333 }
35334 void parser___ReduceAction614___action(val_t self, val_t param0) {
35335 struct trace_t trace = {NULL, NULL, 19292, LOCATE_parser___ReduceAction614___action};
35336 val_t variable[7];
35337 void **closurevariable = NULL;
35338 trace.prev = tracehead; tracehead = &trace;
35339 trace.file = LOCATE_parser;
35340 variable[0] = self;
35341 variable[1] = param0;
35342 variable[3] = NIT_NULL /*null*/;
35343 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35344 variable[4] = variable[5];
35345 variable[5] = variable[4] /*nodearraylist1*/;
35346 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35347 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction614___action, LOCATE_parser, 19297); nit_exit(1);}
35348 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
35349 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(118)) /*Parser::go_to*/;
35350 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
35351 return_label1260: while(false);
35352 tracehead = trace.prev;
35353 return;
35354 }
35355 void parser___ReduceAction614___init(val_t self, int* init_table) {
35356 struct trace_t trace = {NULL, NULL, 19301, LOCATE_parser___ReduceAction614___init};
35357 val_t variable[2];
35358 void **closurevariable = NULL;
35359 trace.prev = tracehead; tracehead = &trace;
35360 trace.file = LOCATE_parser;
35361 variable[0] = self;
35362 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction614].i]) return;
35363 return_label1261: while(false);
35364 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction614].i] = 1;
35365 tracehead = trace.prev;
35366 return;
35367 }
35368 void parser___ReduceAction615___action(val_t self, val_t param0) {
35369 struct trace_t trace = {NULL, NULL, 19305, LOCATE_parser___ReduceAction615___action};
35370 val_t variable[19];
35371 void **closurevariable = NULL;
35372 trace.prev = tracehead; tracehead = &trace;
35373 trace.file = LOCATE_parser;
35374 variable[0] = self;
35375 variable[1] = param0;
35376 variable[3] = NIT_NULL /*null*/;
35377 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35378 variable[4] = variable[5];
35379 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35380 variable[5] = variable[6];
35381 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35382 variable[6] = variable[7];
35383 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35384 variable[7] = variable[8];
35385 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35386 variable[8] = variable[9];
35387 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35388 variable[9] = variable[10];
35389 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35390 variable[10] = variable[11];
35391 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35392 variable[11] = variable[12];
35393 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35394 variable[12] = variable[13];
35395 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35396 variable[13] = variable[14];
35397 variable[14] = variable[13] /*nodearraylist1*/;
35398 variable[15] = TAG_Bool(( variable[14] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35399 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction615___action, LOCATE_parser, 19319); nit_exit(1);}
35400 variable[15] = variable[10] /*nodearraylist4*/;
35401 variable[16] = TAG_Bool(( variable[15] /*tkwasnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwasnode3*/, COLOR_TKwas, ID_TKwas)) /*cast TKwas*/;
35402 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction615___action, LOCATE_parser, 19321); nit_exit(1);}
35403 variable[16] = variable[6] /*nodearraylist8*/;
35404 variable[17] = TAG_Bool(( variable[16] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[16] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
35405 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction615___action, LOCATE_parser, 19323); nit_exit(1);}
35406 variable[18] = NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr( variable[14] /*pexprnode2*/, variable[15] /*tkwasnode3*/, variable[16] /*ptypenode4*/); /*new AAsCastExpr*/
35407 variable[17] = variable[18];
35408 variable[3] = variable[17] /*pexprnode1*/ /*node_list=*/;
35409 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(118)) /*Parser::go_to*/;
35410 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
35411 return_label1262: while(false);
35412 tracehead = trace.prev;
35413 return;
35414 }
35415 void parser___ReduceAction615___init(val_t self, int* init_table) {
35416 struct trace_t trace = {NULL, NULL, 19332, LOCATE_parser___ReduceAction615___init};
35417 val_t variable[2];
35418 void **closurevariable = NULL;
35419 trace.prev = tracehead; tracehead = &trace;
35420 trace.file = LOCATE_parser;
35421 variable[0] = self;
35422 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction615].i]) return;
35423 return_label1263: while(false);
35424 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction615].i] = 1;
35425 tracehead = trace.prev;
35426 return;
35427 }
35428 void parser___ReduceAction616___action(val_t self, val_t param0) {
35429 struct trace_t trace = {NULL, NULL, 19336, LOCATE_parser___ReduceAction616___action};
35430 val_t variable[9];
35431 void **closurevariable = NULL;
35432 trace.prev = tracehead; tracehead = &trace;
35433 trace.file = LOCATE_parser;
35434 variable[0] = self;
35435 variable[1] = param0;
35436 variable[3] = NIT_NULL /*null*/;
35437 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35438 variable[4] = variable[5];
35439 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35440 variable[5] = variable[6];
35441 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35442 variable[6] = variable[7];
35443 variable[7] = variable[6] /*nodearraylist1*/;
35444 variable[8] = TAG_Bool(( variable[7] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35445 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction616___action, LOCATE_parser, 19343); nit_exit(1);}
35446 variable[3] = variable[7] /*pexprnode1*/ /*node_list=*/;
35447 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(119)) /*Parser::go_to*/;
35448 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
35449 return_label1264: while(false);
35450 tracehead = trace.prev;
35451 return;
35452 }
35453 void parser___ReduceAction616___init(val_t self, int* init_table) {
35454 struct trace_t trace = {NULL, NULL, 19347, LOCATE_parser___ReduceAction616___init};
35455 val_t variable[2];
35456 void **closurevariable = NULL;
35457 trace.prev = tracehead; tracehead = &trace;
35458 trace.file = LOCATE_parser;
35459 variable[0] = self;
35460 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction616].i]) return;
35461 return_label1265: while(false);
35462 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction616].i] = 1;
35463 tracehead = trace.prev;
35464 return;
35465 }
35466 void parser___ReduceAction617___action(val_t self, val_t param0) {
35467 struct trace_t trace = {NULL, NULL, 19351, LOCATE_parser___ReduceAction617___action};
35468 val_t variable[6];
35469 void **closurevariable = NULL;
35470 trace.prev = tracehead; tracehead = &trace;
35471 trace.file = LOCATE_parser;
35472 variable[0] = self;
35473 variable[1] = param0;
35474 variable[3] = NIT_NULL /*null*/;
35475 variable[5] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
35476 variable[4] = variable[5];
35477 variable[3] = variable[4] /*pexprnode1*/ /*node_list=*/;
35478 variable[5] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(119)) /*Parser::go_to*/;
35479 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
35480 return_label1266: while(false);
35481 tracehead = trace.prev;
35482 return;
35483 }
35484 void parser___ReduceAction617___init(val_t self, int* init_table) {
35485 struct trace_t trace = {NULL, NULL, 19359, LOCATE_parser___ReduceAction617___init};
35486 val_t variable[2];
35487 void **closurevariable = NULL;
35488 trace.prev = tracehead; tracehead = &trace;
35489 trace.file = LOCATE_parser;
35490 variable[0] = self;
35491 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction617].i]) return;
35492 return_label1267: while(false);
35493 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction617].i] = 1;
35494 tracehead = trace.prev;
35495 return;
35496 }
35497 void parser___ReduceAction618___action(val_t self, val_t param0) {
35498 struct trace_t trace = {NULL, NULL, 19363, LOCATE_parser___ReduceAction618___action};
35499 val_t variable[7];
35500 void **closurevariable = NULL;
35501 trace.prev = tracehead; tracehead = &trace;
35502 trace.file = LOCATE_parser;
35503 variable[0] = self;
35504 variable[1] = param0;
35505 variable[3] = NIT_NULL /*null*/;
35506 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35507 variable[4] = variable[5];
35508 variable[5] = variable[4] /*nodearraylist1*/;
35509 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35510 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction618___action, LOCATE_parser, 19368); nit_exit(1);}
35511 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
35512 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(120)) /*Parser::go_to*/;
35513 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
35514 return_label1268: while(false);
35515 tracehead = trace.prev;
35516 return;
35517 }
35518 void parser___ReduceAction618___init(val_t self, int* init_table) {
35519 struct trace_t trace = {NULL, NULL, 19372, LOCATE_parser___ReduceAction618___init};
35520 val_t variable[2];
35521 void **closurevariable = NULL;
35522 trace.prev = tracehead; tracehead = &trace;
35523 trace.file = LOCATE_parser;
35524 variable[0] = self;
35525 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction618].i]) return;
35526 return_label1269: while(false);
35527 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction618].i] = 1;
35528 tracehead = trace.prev;
35529 return;
35530 }
35531 void parser___ReduceAction619___action(val_t self, val_t param0) {
35532 struct trace_t trace = {NULL, NULL, 19376, LOCATE_parser___ReduceAction619___action};
35533 val_t variable[18];
35534 void **closurevariable = NULL;
35535 trace.prev = tracehead; tracehead = &trace;
35536 trace.file = LOCATE_parser;
35537 variable[0] = self;
35538 variable[1] = param0;
35539 variable[3] = NIT_NULL /*null*/;
35540 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35541 variable[4] = variable[5];
35542 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35543 variable[5] = variable[6];
35544 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35545 variable[6] = variable[7];
35546 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35547 variable[7] = variable[8];
35548 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35549 variable[8] = variable[9];
35550 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35551 variable[9] = variable[10];
35552 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
35553 variable[10] = variable[11];
35554 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
35555 variable[11] = variable[12];
35556 variable[12] = variable[9] /*nodearraylist1*/;
35557 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35558 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction619___action, LOCATE_parser, 19388); nit_exit(1);}
35559 variable[13] = variable[6] /*nodearraylist4*/;
35560 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
35561 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction619___action, LOCATE_parser, 19390); nit_exit(1);}
35562 variable[14] = variable[5] /*nodearraylist5*/;
35563 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
35564 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction619___action, LOCATE_parser, 19392); nit_exit(1);}
35565 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
35566 if (UNTAG_Bool(variable[15])) { /*if*/
35567 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode5*/)( variable[10] /*listnode5*/) /*AbstractArray::is_empty*/;
35568 if (UNTAG_Bool(variable[15])) { /*if*/
35569 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
35570 } else { /*if*/
35571 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode5*/)( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
35572 }
35573 }
35574 variable[15] = variable[4] /*nodearraylist6*/;
35575 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
35576 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction619___action, LOCATE_parser, 19401); nit_exit(1);}
35577 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*listnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*listnode6*/)( variable[15] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
35578 if (UNTAG_Bool(variable[16])) { /*if*/
35579 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode7*/)( variable[11] /*listnode7*/) /*AbstractArray::is_empty*/;
35580 if (UNTAG_Bool(variable[16])) { /*if*/
35581 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
35582 } else { /*if*/
35583 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
35584 }
35585 }
35586 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/); /*new ACallExpr*/
35587 variable[16] = variable[17];
35588 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
35589 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(120)) /*Parser::go_to*/;
35590 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
35591 return_label1270: while(false);
35592 tracehead = trace.prev;
35593 return;
35594 }
35595 void parser___ReduceAction619___init(val_t self, int* init_table) {
35596 struct trace_t trace = {NULL, NULL, 19418, LOCATE_parser___ReduceAction619___init};
35597 val_t variable[2];
35598 void **closurevariable = NULL;
35599 trace.prev = tracehead; tracehead = &trace;
35600 trace.file = LOCATE_parser;
35601 variable[0] = self;
35602 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction619].i]) return;
35603 return_label1271: while(false);
35604 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction619].i] = 1;
35605 tracehead = trace.prev;
35606 return;
35607 }
35608 void parser___ReduceAction620___action(val_t self, val_t param0) {
35609 struct trace_t trace = {NULL, NULL, 19422, LOCATE_parser___ReduceAction620___action};
35610 val_t variable[15];
35611 void **closurevariable = NULL;
35612 trace.prev = tracehead; tracehead = &trace;
35613 trace.file = LOCATE_parser;
35614 variable[0] = self;
35615 variable[1] = param0;
35616 variable[3] = NIT_NULL /*null*/;
35617 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35618 variable[4] = variable[5];
35619 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35620 variable[5] = variable[6];
35621 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35622 variable[6] = variable[7];
35623 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
35624 variable[7] = variable[8];
35625 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
35626 variable[8] = variable[9];
35627 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
35628 variable[9] = variable[10];
35629 variable[10] = variable[6] /*nodearraylist1*/;
35630 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
35631 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction620___action, LOCATE_parser, 19433); nit_exit(1);}
35632 variable[11] = variable[5] /*nodearraylist2*/;
35633 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
35634 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction620___action, LOCATE_parser, 19435); nit_exit(1);}
35635 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
35636 if (UNTAG_Bool(variable[12])) { /*if*/
35637 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
35638 if (UNTAG_Bool(variable[12])) { /*if*/
35639 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
35640 } else { /*if*/
35641 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
35642 }
35643 }
35644 variable[12] = variable[4] /*nodearraylist3*/;
35645 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
35646 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction620___action, LOCATE_parser, 19444); nit_exit(1);}
35647 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode6*/)( variable[12] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
35648 if (UNTAG_Bool(variable[13])) { /*if*/
35649 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode7*/)( variable[8] /*listnode7*/) /*AbstractArray::is_empty*/;
35650 if (UNTAG_Bool(variable[13])) { /*if*/
35651 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
35652 } else { /*if*/
35653 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode7*/)( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
35654 }
35655 }
35656 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/); /*new ACallExpr*/
35657 variable[13] = variable[14];
35658 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
35659 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(120)) /*Parser::go_to*/;
35660 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
35661 return_label1272: while(false);
35662 tracehead = trace.prev;
35663 return;
35664 }
35665 void parser___ReduceAction620___init(val_t self, int* init_table) {
35666 struct trace_t trace = {NULL, NULL, 19461, LOCATE_parser___ReduceAction620___init};
35667 val_t variable[2];
35668 void **closurevariable = NULL;
35669 trace.prev = tracehead; tracehead = &trace;
35670 trace.file = LOCATE_parser;
35671 variable[0] = self;
35672 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction620].i]) return;
35673 return_label1273: while(false);
35674 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction620].i] = 1;
35675 tracehead = trace.prev;
35676 return;
35677 }
35678 void parser___ReduceAction621___action(val_t self, val_t param0) {
35679 struct trace_t trace = {NULL, NULL, 19465, LOCATE_parser___ReduceAction621___action};
35680 val_t variable[7];
35681 void **closurevariable = NULL;
35682 trace.prev = tracehead; tracehead = &trace;
35683 trace.file = LOCATE_parser;
35684 variable[0] = self;
35685 variable[1] = param0;
35686 variable[3] = NIT_NULL /*null*/;
35687 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35688 variable[4] = variable[5];
35689 variable[5] = variable[4] /*nodearraylist1*/;
35690 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35691 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction621___action, LOCATE_parser, 19470); nit_exit(1);}
35692 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
35693 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(121)) /*Parser::go_to*/;
35694 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
35695 return_label1274: while(false);
35696 tracehead = trace.prev;
35697 return;
35698 }
35699 void parser___ReduceAction621___init(val_t self, int* init_table) {
35700 struct trace_t trace = {NULL, NULL, 19474, LOCATE_parser___ReduceAction621___init};
35701 val_t variable[2];
35702 void **closurevariable = NULL;
35703 trace.prev = tracehead; tracehead = &trace;
35704 trace.file = LOCATE_parser;
35705 variable[0] = self;
35706 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction621].i]) return;
35707 return_label1275: while(false);
35708 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction621].i] = 1;
35709 tracehead = trace.prev;
35710 return;
35711 }
35712 void parser___ReduceAction622___action(val_t self, val_t param0) {
35713 struct trace_t trace = {NULL, NULL, 19478, LOCATE_parser___ReduceAction622___action};
35714 val_t variable[18];
35715 void **closurevariable = NULL;
35716 trace.prev = tracehead; tracehead = &trace;
35717 trace.file = LOCATE_parser;
35718 variable[0] = self;
35719 variable[1] = param0;
35720 variable[3] = NIT_NULL /*null*/;
35721 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35722 variable[4] = variable[5];
35723 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35724 variable[5] = variable[6];
35725 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35726 variable[6] = variable[7];
35727 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35728 variable[7] = variable[8];
35729 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35730 variable[8] = variable[9];
35731 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35732 variable[9] = variable[10];
35733 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
35734 variable[10] = variable[11];
35735 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
35736 variable[11] = variable[12];
35737 variable[12] = variable[9] /*nodearraylist1*/;
35738 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35739 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction622___action, LOCATE_parser, 19490); nit_exit(1);}
35740 variable[13] = variable[6] /*nodearraylist4*/;
35741 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
35742 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction622___action, LOCATE_parser, 19492); nit_exit(1);}
35743 variable[14] = variable[5] /*nodearraylist5*/;
35744 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
35745 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction622___action, LOCATE_parser, 19494); nit_exit(1);}
35746 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[14] /*listnode4*/)( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
35747 if (UNTAG_Bool(variable[15])) { /*if*/
35748 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode5*/)( variable[10] /*listnode5*/) /*AbstractArray::is_empty*/;
35749 if (UNTAG_Bool(variable[15])) { /*if*/
35750 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
35751 } else { /*if*/
35752 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode5*/)( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
35753 }
35754 }
35755 variable[15] = variable[4] /*nodearraylist6*/;
35756 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
35757 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction622___action, LOCATE_parser, 19503); nit_exit(1);}
35758 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[15] /*listnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[15] /*listnode6*/)( variable[15] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
35759 if (UNTAG_Bool(variable[16])) { /*if*/
35760 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode7*/)( variable[11] /*listnode7*/) /*AbstractArray::is_empty*/;
35761 if (UNTAG_Bool(variable[16])) { /*if*/
35762 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
35763 } else { /*if*/
35764 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
35765 }
35766 }
35767 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/); /*new ACallExpr*/
35768 variable[16] = variable[17];
35769 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
35770 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(121)) /*Parser::go_to*/;
35771 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
35772 return_label1276: while(false);
35773 tracehead = trace.prev;
35774 return;
35775 }
35776 void parser___ReduceAction622___init(val_t self, int* init_table) {
35777 struct trace_t trace = {NULL, NULL, 19520, LOCATE_parser___ReduceAction622___init};
35778 val_t variable[2];
35779 void **closurevariable = NULL;
35780 trace.prev = tracehead; tracehead = &trace;
35781 trace.file = LOCATE_parser;
35782 variable[0] = self;
35783 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction622].i]) return;
35784 return_label1277: while(false);
35785 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction622].i] = 1;
35786 tracehead = trace.prev;
35787 return;
35788 }
35789 void parser___ReduceAction623___action(val_t self, val_t param0) {
35790 struct trace_t trace = {NULL, NULL, 19524, LOCATE_parser___ReduceAction623___action};
35791 val_t variable[15];
35792 void **closurevariable = NULL;
35793 trace.prev = tracehead; tracehead = &trace;
35794 trace.file = LOCATE_parser;
35795 variable[0] = self;
35796 variable[1] = param0;
35797 variable[3] = NIT_NULL /*null*/;
35798 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35799 variable[4] = variable[5];
35800 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35801 variable[5] = variable[6];
35802 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35803 variable[6] = variable[7];
35804 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
35805 variable[7] = variable[8];
35806 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
35807 variable[8] = variable[9];
35808 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
35809 variable[9] = variable[10];
35810 variable[10] = variable[6] /*nodearraylist1*/;
35811 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
35812 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction623___action, LOCATE_parser, 19535); nit_exit(1);}
35813 variable[11] = variable[5] /*nodearraylist2*/;
35814 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
35815 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction623___action, LOCATE_parser, 19537); nit_exit(1);}
35816 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[11] /*listnode4*/)( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
35817 if (UNTAG_Bool(variable[12])) { /*if*/
35818 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
35819 if (UNTAG_Bool(variable[12])) { /*if*/
35820 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
35821 } else { /*if*/
35822 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
35823 }
35824 }
35825 variable[12] = variable[4] /*nodearraylist3*/;
35826 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
35827 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction623___action, LOCATE_parser, 19546); nit_exit(1);}
35828 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode6*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[12] /*listnode6*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*listnode6*/)( variable[12] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
35829 if (UNTAG_Bool(variable[13])) { /*if*/
35830 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode7*/)( variable[8] /*listnode7*/) /*AbstractArray::is_empty*/;
35831 if (UNTAG_Bool(variable[13])) { /*if*/
35832 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
35833 } else { /*if*/
35834 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode7*/)( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
35835 }
35836 }
35837 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/); /*new ACallExpr*/
35838 variable[13] = variable[14];
35839 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
35840 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(121)) /*Parser::go_to*/;
35841 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
35842 return_label1278: while(false);
35843 tracehead = trace.prev;
35844 return;
35845 }
35846 void parser___ReduceAction623___init(val_t self, int* init_table) {
35847 struct trace_t trace = {NULL, NULL, 19563, LOCATE_parser___ReduceAction623___init};
35848 val_t variable[2];
35849 void **closurevariable = NULL;
35850 trace.prev = tracehead; tracehead = &trace;
35851 trace.file = LOCATE_parser;
35852 variable[0] = self;
35853 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction623].i]) return;
35854 return_label1279: while(false);
35855 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction623].i] = 1;
35856 tracehead = trace.prev;
35857 return;
35858 }
35859 void parser___ReduceAction624___action(val_t self, val_t param0) {
35860 struct trace_t trace = {NULL, NULL, 19567, LOCATE_parser___ReduceAction624___action};
35861 val_t variable[8];
35862 void **closurevariable = NULL;
35863 trace.prev = tracehead; tracehead = &trace;
35864 trace.file = LOCATE_parser;
35865 variable[0] = self;
35866 variable[1] = param0;
35867 variable[3] = NIT_NULL /*null*/;
35868 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35869 variable[4] = variable[5];
35870 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
35871 variable[5] = variable[6];
35872 variable[6] = variable[4] /*nodearraylist1*/;
35873 variable[7] = TAG_Bool(( variable[6] /*pimportnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pimportnode1*/, COLOR_PImport, ID_PImport)) /*cast PImport*/;
35874 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction624___action, LOCATE_parser, 19573); nit_exit(1);}
35875 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*pimportnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*pimportnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*pimportnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*pimportnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*pimportnode1*/)( variable[6] /*pimportnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
35876 if (UNTAG_Bool(variable[7])) { /*if*/
35877 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*pimportnode1*/) /*AbstractArray::add*/;
35878 }
35879 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
35880 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(122)) /*Parser::go_to*/;
35881 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
35882 return_label1280: while(false);
35883 tracehead = trace.prev;
35884 return;
35885 }
35886 void parser___ReduceAction624___init(val_t self, int* init_table) {
35887 struct trace_t trace = {NULL, NULL, 19580, LOCATE_parser___ReduceAction624___init};
35888 val_t variable[2];
35889 void **closurevariable = NULL;
35890 trace.prev = tracehead; tracehead = &trace;
35891 trace.file = LOCATE_parser;
35892 variable[0] = self;
35893 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction624].i]) return;
35894 return_label1281: while(false);
35895 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction624].i] = 1;
35896 tracehead = trace.prev;
35897 return;
35898 }
35899 void parser___ReduceAction625___action(val_t self, val_t param0) {
35900 struct trace_t trace = {NULL, NULL, 19584, LOCATE_parser___ReduceAction625___action};
35901 val_t variable[10];
35902 void **closurevariable = NULL;
35903 trace.prev = tracehead; tracehead = &trace;
35904 trace.file = LOCATE_parser;
35905 variable[0] = self;
35906 variable[1] = param0;
35907 variable[3] = NIT_NULL /*null*/;
35908 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35909 variable[4] = variable[5];
35910 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35911 variable[5] = variable[6];
35912 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
35913 variable[6] = variable[7];
35914 variable[7] = variable[5] /*nodearraylist1*/;
35915 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
35916 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction625___action, LOCATE_parser, 19591); nit_exit(1);}
35917 variable[8] = variable[4] /*nodearraylist2*/;
35918 variable[9] = TAG_Bool(( variable[8] /*pimportnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pimportnode2*/, COLOR_PImport, ID_PImport)) /*cast PImport*/;
35919 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction625___action, LOCATE_parser, 19593); nit_exit(1);}
35920 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
35921 if (UNTAG_Bool(variable[9])) { /*if*/
35922 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
35923 if (UNTAG_Bool(variable[9])) { /*if*/
35924 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
35925 } else { /*if*/
35926 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
35927 }
35928 }
35929 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*pimportnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*pimportnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*pimportnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*pimportnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*pimportnode2*/)( variable[8] /*pimportnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
35930 if (UNTAG_Bool(variable[9])) { /*if*/
35931 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*pimportnode2*/) /*AbstractArray::add*/;
35932 }
35933 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
35934 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(122)) /*Parser::go_to*/;
35935 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
35936 return_label1282: while(false);
35937 tracehead = trace.prev;
35938 return;
35939 }
35940 void parser___ReduceAction625___init(val_t self, int* init_table) {
35941 struct trace_t trace = {NULL, NULL, 19607, LOCATE_parser___ReduceAction625___init};
35942 val_t variable[2];
35943 void **closurevariable = NULL;
35944 trace.prev = tracehead; tracehead = &trace;
35945 trace.file = LOCATE_parser;
35946 variable[0] = self;
35947 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction625].i]) return;
35948 return_label1283: while(false);
35949 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction625].i] = 1;
35950 tracehead = trace.prev;
35951 return;
35952 }
35953 void parser___ReduceAction626___action(val_t self, val_t param0) {
35954 struct trace_t trace = {NULL, NULL, 19611, LOCATE_parser___ReduceAction626___action};
35955 val_t variable[8];
35956 void **closurevariable = NULL;
35957 trace.prev = tracehead; tracehead = &trace;
35958 trace.file = LOCATE_parser;
35959 variable[0] = self;
35960 variable[1] = param0;
35961 variable[3] = NIT_NULL /*null*/;
35962 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35963 variable[4] = variable[5];
35964 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
35965 variable[5] = variable[6];
35966 variable[6] = variable[4] /*nodearraylist1*/;
35967 variable[7] = TAG_Bool(( variable[6] /*pclassdefnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pclassdefnode1*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
35968 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction626___action, LOCATE_parser, 19617); nit_exit(1);}
35969 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*pclassdefnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*pclassdefnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*pclassdefnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*pclassdefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*pclassdefnode1*/)( variable[6] /*pclassdefnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
35970 if (UNTAG_Bool(variable[7])) { /*if*/
35971 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*pclassdefnode1*/) /*AbstractArray::add*/;
35972 }
35973 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
35974 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(123)) /*Parser::go_to*/;
35975 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
35976 return_label1284: while(false);
35977 tracehead = trace.prev;
35978 return;
35979 }
35980 void parser___ReduceAction626___init(val_t self, int* init_table) {
35981 struct trace_t trace = {NULL, NULL, 19624, LOCATE_parser___ReduceAction626___init};
35982 val_t variable[2];
35983 void **closurevariable = NULL;
35984 trace.prev = tracehead; tracehead = &trace;
35985 trace.file = LOCATE_parser;
35986 variable[0] = self;
35987 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction626].i]) return;
35988 return_label1285: while(false);
35989 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction626].i] = 1;
35990 tracehead = trace.prev;
35991 return;
35992 }
35993 void parser___ReduceAction627___action(val_t self, val_t param0) {
35994 struct trace_t trace = {NULL, NULL, 19628, LOCATE_parser___ReduceAction627___action};
35995 val_t variable[10];
35996 void **closurevariable = NULL;
35997 trace.prev = tracehead; tracehead = &trace;
35998 trace.file = LOCATE_parser;
35999 variable[0] = self;
36000 variable[1] = param0;
36001 variable[3] = NIT_NULL /*null*/;
36002 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36003 variable[4] = variable[5];
36004 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36005 variable[5] = variable[6];
36006 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36007 variable[6] = variable[7];
36008 variable[7] = variable[5] /*nodearraylist1*/;
36009 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36010 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction627___action, LOCATE_parser, 19635); nit_exit(1);}
36011 variable[8] = variable[4] /*nodearraylist2*/;
36012 variable[9] = TAG_Bool(( variable[8] /*pclassdefnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pclassdefnode2*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
36013 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction627___action, LOCATE_parser, 19637); nit_exit(1);}
36014 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36015 if (UNTAG_Bool(variable[9])) { /*if*/
36016 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
36017 if (UNTAG_Bool(variable[9])) { /*if*/
36018 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
36019 } else { /*if*/
36020 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
36021 }
36022 }
36023 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*pclassdefnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*pclassdefnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*pclassdefnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*pclassdefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*pclassdefnode2*/)( variable[8] /*pclassdefnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36024 if (UNTAG_Bool(variable[9])) { /*if*/
36025 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*pclassdefnode2*/) /*AbstractArray::add*/;
36026 }
36027 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
36028 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(123)) /*Parser::go_to*/;
36029 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
36030 return_label1286: while(false);
36031 tracehead = trace.prev;
36032 return;
36033 }
36034 void parser___ReduceAction627___init(val_t self, int* init_table) {
36035 struct trace_t trace = {NULL, NULL, 19651, LOCATE_parser___ReduceAction627___init};
36036 val_t variable[2];
36037 void **closurevariable = NULL;
36038 trace.prev = tracehead; tracehead = &trace;
36039 trace.file = LOCATE_parser;
36040 variable[0] = self;
36041 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction627].i]) return;
36042 return_label1287: while(false);
36043 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction627].i] = 1;
36044 tracehead = trace.prev;
36045 return;
36046 }
36047 void parser___ReduceAction628___action(val_t self, val_t param0) {
36048 struct trace_t trace = {NULL, NULL, 19655, LOCATE_parser___ReduceAction628___action};
36049 val_t variable[8];
36050 void **closurevariable = NULL;
36051 trace.prev = tracehead; tracehead = &trace;
36052 trace.file = LOCATE_parser;
36053 variable[0] = self;
36054 variable[1] = param0;
36055 variable[3] = NIT_NULL /*null*/;
36056 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36057 variable[4] = variable[5];
36058 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36059 variable[5] = variable[6];
36060 variable[6] = variable[4] /*nodearraylist1*/;
36061 variable[7] = TAG_Bool(( variable[6] /*psuperclassnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*psuperclassnode1*/, COLOR_PSuperclass, ID_PSuperclass)) /*cast PSuperclass*/;
36062 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction628___action, LOCATE_parser, 19661); nit_exit(1);}
36063 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*psuperclassnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*psuperclassnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*psuperclassnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*psuperclassnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*psuperclassnode1*/)( variable[6] /*psuperclassnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36064 if (UNTAG_Bool(variable[7])) { /*if*/
36065 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*psuperclassnode1*/) /*AbstractArray::add*/;
36066 }
36067 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
36068 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(124)) /*Parser::go_to*/;
36069 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
36070 return_label1288: while(false);
36071 tracehead = trace.prev;
36072 return;
36073 }
36074 void parser___ReduceAction628___init(val_t self, int* init_table) {
36075 struct trace_t trace = {NULL, NULL, 19668, LOCATE_parser___ReduceAction628___init};
36076 val_t variable[2];
36077 void **closurevariable = NULL;
36078 trace.prev = tracehead; tracehead = &trace;
36079 trace.file = LOCATE_parser;
36080 variable[0] = self;
36081 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction628].i]) return;
36082 return_label1289: while(false);
36083 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction628].i] = 1;
36084 tracehead = trace.prev;
36085 return;
36086 }
36087 void parser___ReduceAction629___action(val_t self, val_t param0) {
36088 struct trace_t trace = {NULL, NULL, 19672, LOCATE_parser___ReduceAction629___action};
36089 val_t variable[10];
36090 void **closurevariable = NULL;
36091 trace.prev = tracehead; tracehead = &trace;
36092 trace.file = LOCATE_parser;
36093 variable[0] = self;
36094 variable[1] = param0;
36095 variable[3] = NIT_NULL /*null*/;
36096 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36097 variable[4] = variable[5];
36098 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36099 variable[5] = variable[6];
36100 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36101 variable[6] = variable[7];
36102 variable[7] = variable[5] /*nodearraylist1*/;
36103 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36104 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction629___action, LOCATE_parser, 19679); nit_exit(1);}
36105 variable[8] = variable[4] /*nodearraylist2*/;
36106 variable[9] = TAG_Bool(( variable[8] /*psuperclassnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*psuperclassnode2*/, COLOR_PSuperclass, ID_PSuperclass)) /*cast PSuperclass*/;
36107 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction629___action, LOCATE_parser, 19681); nit_exit(1);}
36108 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36109 if (UNTAG_Bool(variable[9])) { /*if*/
36110 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
36111 if (UNTAG_Bool(variable[9])) { /*if*/
36112 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
36113 } else { /*if*/
36114 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
36115 }
36116 }
36117 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*psuperclassnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*psuperclassnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*psuperclassnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*psuperclassnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*psuperclassnode2*/)( variable[8] /*psuperclassnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36118 if (UNTAG_Bool(variable[9])) { /*if*/
36119 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*psuperclassnode2*/) /*AbstractArray::add*/;
36120 }
36121 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
36122 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(124)) /*Parser::go_to*/;
36123 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
36124 return_label1290: while(false);
36125 tracehead = trace.prev;
36126 return;
36127 }
36128 void parser___ReduceAction629___init(val_t self, int* init_table) {
36129 struct trace_t trace = {NULL, NULL, 19695, LOCATE_parser___ReduceAction629___init};
36130 val_t variable[2];
36131 void **closurevariable = NULL;
36132 trace.prev = tracehead; tracehead = &trace;
36133 trace.file = LOCATE_parser;
36134 variable[0] = self;
36135 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction629].i]) return;
36136 return_label1291: while(false);
36137 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction629].i] = 1;
36138 tracehead = trace.prev;
36139 return;
36140 }
36141 void parser___ReduceAction630___action(val_t self, val_t param0) {
36142 struct trace_t trace = {NULL, NULL, 19699, LOCATE_parser___ReduceAction630___action};
36143 val_t variable[8];
36144 void **closurevariable = NULL;
36145 trace.prev = tracehead; tracehead = &trace;
36146 trace.file = LOCATE_parser;
36147 variable[0] = self;
36148 variable[1] = param0;
36149 variable[3] = NIT_NULL /*null*/;
36150 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36151 variable[4] = variable[5];
36152 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36153 variable[5] = variable[6];
36154 variable[6] = variable[4] /*nodearraylist1*/;
36155 variable[7] = TAG_Bool(( variable[6] /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
36156 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction630___action, LOCATE_parser, 19705); nit_exit(1);}
36157 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*pformaldefnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*pformaldefnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*pformaldefnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*pformaldefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*pformaldefnode1*/)( variable[6] /*pformaldefnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36158 if (UNTAG_Bool(variable[7])) { /*if*/
36159 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*pformaldefnode1*/) /*AbstractArray::add*/;
36160 }
36161 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
36162 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(125)) /*Parser::go_to*/;
36163 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
36164 return_label1292: while(false);
36165 tracehead = trace.prev;
36166 return;
36167 }
36168 void parser___ReduceAction630___init(val_t self, int* init_table) {
36169 struct trace_t trace = {NULL, NULL, 19712, LOCATE_parser___ReduceAction630___init};
36170 val_t variable[2];
36171 void **closurevariable = NULL;
36172 trace.prev = tracehead; tracehead = &trace;
36173 trace.file = LOCATE_parser;
36174 variable[0] = self;
36175 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction630].i]) return;
36176 return_label1293: while(false);
36177 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction630].i] = 1;
36178 tracehead = trace.prev;
36179 return;
36180 }
36181 void parser___ReduceAction631___action(val_t self, val_t param0) {
36182 struct trace_t trace = {NULL, NULL, 19716, LOCATE_parser___ReduceAction631___action};
36183 val_t variable[10];
36184 void **closurevariable = NULL;
36185 trace.prev = tracehead; tracehead = &trace;
36186 trace.file = LOCATE_parser;
36187 variable[0] = self;
36188 variable[1] = param0;
36189 variable[3] = NIT_NULL /*null*/;
36190 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36191 variable[4] = variable[5];
36192 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36193 variable[5] = variable[6];
36194 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36195 variable[6] = variable[7];
36196 variable[7] = variable[5] /*nodearraylist1*/;
36197 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36198 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction631___action, LOCATE_parser, 19723); nit_exit(1);}
36199 variable[8] = variable[4] /*nodearraylist2*/;
36200 variable[9] = TAG_Bool(( variable[8] /*pformaldefnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pformaldefnode2*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
36201 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction631___action, LOCATE_parser, 19725); nit_exit(1);}
36202 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36203 if (UNTAG_Bool(variable[9])) { /*if*/
36204 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
36205 if (UNTAG_Bool(variable[9])) { /*if*/
36206 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
36207 } else { /*if*/
36208 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
36209 }
36210 }
36211 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*pformaldefnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*pformaldefnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*pformaldefnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*pformaldefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*pformaldefnode2*/)( variable[8] /*pformaldefnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36212 if (UNTAG_Bool(variable[9])) { /*if*/
36213 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*pformaldefnode2*/) /*AbstractArray::add*/;
36214 }
36215 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
36216 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(125)) /*Parser::go_to*/;
36217 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
36218 return_label1294: while(false);
36219 tracehead = trace.prev;
36220 return;
36221 }
36222 void parser___ReduceAction631___init(val_t self, int* init_table) {
36223 struct trace_t trace = {NULL, NULL, 19739, LOCATE_parser___ReduceAction631___init};
36224 val_t variable[2];
36225 void **closurevariable = NULL;
36226 trace.prev = tracehead; tracehead = &trace;
36227 trace.file = LOCATE_parser;
36228 variable[0] = self;
36229 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction631].i]) return;
36230 return_label1295: while(false);
36231 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction631].i] = 1;
36232 tracehead = trace.prev;
36233 return;
36234 }
36235 void parser___ReduceAction632___action(val_t self, val_t param0) {
36236 struct trace_t trace = {NULL, NULL, 19743, LOCATE_parser___ReduceAction632___action};
36237 val_t variable[8];
36238 void **closurevariable = NULL;
36239 trace.prev = tracehead; tracehead = &trace;
36240 trace.file = LOCATE_parser;
36241 variable[0] = self;
36242 variable[1] = param0;
36243 variable[3] = NIT_NULL /*null*/;
36244 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36245 variable[4] = variable[5];
36246 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36247 variable[5] = variable[6];
36248 variable[6] = variable[4] /*nodearraylist1*/;
36249 variable[7] = TAG_Bool(( variable[6] /*ppropdefnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*ppropdefnode1*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
36250 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction632___action, LOCATE_parser, 19749); nit_exit(1);}
36251 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*ppropdefnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*ppropdefnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*ppropdefnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*ppropdefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*ppropdefnode1*/)( variable[6] /*ppropdefnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36252 if (UNTAG_Bool(variable[7])) { /*if*/
36253 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*ppropdefnode1*/) /*AbstractArray::add*/;
36254 }
36255 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
36256 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(126)) /*Parser::go_to*/;
36257 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
36258 return_label1296: while(false);
36259 tracehead = trace.prev;
36260 return;
36261 }
36262 void parser___ReduceAction632___init(val_t self, int* init_table) {
36263 struct trace_t trace = {NULL, NULL, 19756, LOCATE_parser___ReduceAction632___init};
36264 val_t variable[2];
36265 void **closurevariable = NULL;
36266 trace.prev = tracehead; tracehead = &trace;
36267 trace.file = LOCATE_parser;
36268 variable[0] = self;
36269 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction632].i]) return;
36270 return_label1297: while(false);
36271 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction632].i] = 1;
36272 tracehead = trace.prev;
36273 return;
36274 }
36275 void parser___ReduceAction633___action(val_t self, val_t param0) {
36276 struct trace_t trace = {NULL, NULL, 19760, LOCATE_parser___ReduceAction633___action};
36277 val_t variable[10];
36278 void **closurevariable = NULL;
36279 trace.prev = tracehead; tracehead = &trace;
36280 trace.file = LOCATE_parser;
36281 variable[0] = self;
36282 variable[1] = param0;
36283 variable[3] = NIT_NULL /*null*/;
36284 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36285 variable[4] = variable[5];
36286 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36287 variable[5] = variable[6];
36288 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36289 variable[6] = variable[7];
36290 variable[7] = variable[5] /*nodearraylist1*/;
36291 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36292 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction633___action, LOCATE_parser, 19767); nit_exit(1);}
36293 variable[8] = variable[4] /*nodearraylist2*/;
36294 variable[9] = TAG_Bool(( variable[8] /*ppropdefnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*ppropdefnode2*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
36295 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction633___action, LOCATE_parser, 19769); nit_exit(1);}
36296 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36297 if (UNTAG_Bool(variable[9])) { /*if*/
36298 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
36299 if (UNTAG_Bool(variable[9])) { /*if*/
36300 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
36301 } else { /*if*/
36302 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
36303 }
36304 }
36305 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*ppropdefnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*ppropdefnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*ppropdefnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*ppropdefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*ppropdefnode2*/)( variable[8] /*ppropdefnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36306 if (UNTAG_Bool(variable[9])) { /*if*/
36307 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*ppropdefnode2*/) /*AbstractArray::add*/;
36308 }
36309 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
36310 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(126)) /*Parser::go_to*/;
36311 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
36312 return_label1298: while(false);
36313 tracehead = trace.prev;
36314 return;
36315 }
36316 void parser___ReduceAction633___init(val_t self, int* init_table) {
36317 struct trace_t trace = {NULL, NULL, 19783, LOCATE_parser___ReduceAction633___init};
36318 val_t variable[2];
36319 void **closurevariable = NULL;
36320 trace.prev = tracehead; tracehead = &trace;
36321 trace.file = LOCATE_parser;
36322 variable[0] = self;
36323 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction633].i]) return;
36324 return_label1299: while(false);
36325 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction633].i] = 1;
36326 tracehead = trace.prev;
36327 return;
36328 }
36329 void parser___ReduceAction634___action(val_t self, val_t param0) {
36330 struct trace_t trace = {NULL, NULL, 19787, LOCATE_parser___ReduceAction634___action};
36331 val_t variable[8];
36332 void **closurevariable = NULL;
36333 trace.prev = tracehead; tracehead = &trace;
36334 trace.file = LOCATE_parser;
36335 variable[0] = self;
36336 variable[1] = param0;
36337 variable[3] = NIT_NULL /*null*/;
36338 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36339 variable[4] = variable[5];
36340 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36341 variable[5] = variable[6];
36342 variable[6] = variable[4] /*nodearraylist1*/;
36343 variable[7] = TAG_Bool(( variable[6] /*ppropdefnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*ppropdefnode1*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
36344 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction634___action, LOCATE_parser, 19793); nit_exit(1);}
36345 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*ppropdefnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*ppropdefnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*ppropdefnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*ppropdefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*ppropdefnode1*/)( variable[6] /*ppropdefnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36346 if (UNTAG_Bool(variable[7])) { /*if*/
36347 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*ppropdefnode1*/) /*AbstractArray::add*/;
36348 }
36349 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
36350 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(127)) /*Parser::go_to*/;
36351 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
36352 return_label1300: while(false);
36353 tracehead = trace.prev;
36354 return;
36355 }
36356 void parser___ReduceAction634___init(val_t self, int* init_table) {
36357 struct trace_t trace = {NULL, NULL, 19800, LOCATE_parser___ReduceAction634___init};
36358 val_t variable[2];
36359 void **closurevariable = NULL;
36360 trace.prev = tracehead; tracehead = &trace;
36361 trace.file = LOCATE_parser;
36362 variable[0] = self;
36363 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction634].i]) return;
36364 return_label1301: while(false);
36365 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction634].i] = 1;
36366 tracehead = trace.prev;
36367 return;
36368 }
36369 void parser___ReduceAction635___action(val_t self, val_t param0) {
36370 struct trace_t trace = {NULL, NULL, 19804, LOCATE_parser___ReduceAction635___action};
36371 val_t variable[10];
36372 void **closurevariable = NULL;
36373 trace.prev = tracehead; tracehead = &trace;
36374 trace.file = LOCATE_parser;
36375 variable[0] = self;
36376 variable[1] = param0;
36377 variable[3] = NIT_NULL /*null*/;
36378 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36379 variable[4] = variable[5];
36380 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36381 variable[5] = variable[6];
36382 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36383 variable[6] = variable[7];
36384 variable[7] = variable[5] /*nodearraylist1*/;
36385 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36386 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction635___action, LOCATE_parser, 19811); nit_exit(1);}
36387 variable[8] = variable[4] /*nodearraylist2*/;
36388 variable[9] = TAG_Bool(( variable[8] /*ppropdefnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*ppropdefnode2*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
36389 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction635___action, LOCATE_parser, 19813); nit_exit(1);}
36390 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36391 if (UNTAG_Bool(variable[9])) { /*if*/
36392 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
36393 if (UNTAG_Bool(variable[9])) { /*if*/
36394 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
36395 } else { /*if*/
36396 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
36397 }
36398 }
36399 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*ppropdefnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*ppropdefnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*ppropdefnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*ppropdefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*ppropdefnode2*/)( variable[8] /*ppropdefnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36400 if (UNTAG_Bool(variable[9])) { /*if*/
36401 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*ppropdefnode2*/) /*AbstractArray::add*/;
36402 }
36403 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
36404 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(127)) /*Parser::go_to*/;
36405 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
36406 return_label1302: while(false);
36407 tracehead = trace.prev;
36408 return;
36409 }
36410 void parser___ReduceAction635___init(val_t self, int* init_table) {
36411 struct trace_t trace = {NULL, NULL, 19827, LOCATE_parser___ReduceAction635___init};
36412 val_t variable[2];
36413 void **closurevariable = NULL;
36414 trace.prev = tracehead; tracehead = &trace;
36415 trace.file = LOCATE_parser;
36416 variable[0] = self;
36417 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction635].i]) return;
36418 return_label1303: while(false);
36419 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction635].i] = 1;
36420 tracehead = trace.prev;
36421 return;
36422 }
36423 void parser___ReduceAction636___action(val_t self, val_t param0) {
36424 struct trace_t trace = {NULL, NULL, 19831, LOCATE_parser___ReduceAction636___action};
36425 val_t variable[8];
36426 void **closurevariable = NULL;
36427 trace.prev = tracehead; tracehead = &trace;
36428 trace.file = LOCATE_parser;
36429 variable[0] = self;
36430 variable[1] = param0;
36431 variable[3] = NIT_NULL /*null*/;
36432 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36433 variable[4] = variable[5];
36434 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36435 variable[5] = variable[6];
36436 variable[6] = variable[4] /*nodearraylist1*/;
36437 variable[7] = TAG_Bool(( variable[6] /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
36438 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction636___action, LOCATE_parser, 19837); nit_exit(1);}
36439 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*pparamnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*pparamnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*pparamnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*pparamnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*pparamnode1*/)( variable[6] /*pparamnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36440 if (UNTAG_Bool(variable[7])) { /*if*/
36441 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*pparamnode1*/) /*AbstractArray::add*/;
36442 }
36443 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
36444 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(128)) /*Parser::go_to*/;
36445 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
36446 return_label1304: while(false);
36447 tracehead = trace.prev;
36448 return;
36449 }
36450 void parser___ReduceAction636___init(val_t self, int* init_table) {
36451 struct trace_t trace = {NULL, NULL, 19844, LOCATE_parser___ReduceAction636___init};
36452 val_t variable[2];
36453 void **closurevariable = NULL;
36454 trace.prev = tracehead; tracehead = &trace;
36455 trace.file = LOCATE_parser;
36456 variable[0] = self;
36457 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction636].i]) return;
36458 return_label1305: while(false);
36459 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction636].i] = 1;
36460 tracehead = trace.prev;
36461 return;
36462 }
36463 void parser___ReduceAction637___action(val_t self, val_t param0) {
36464 struct trace_t trace = {NULL, NULL, 19848, LOCATE_parser___ReduceAction637___action};
36465 val_t variable[10];
36466 void **closurevariable = NULL;
36467 trace.prev = tracehead; tracehead = &trace;
36468 trace.file = LOCATE_parser;
36469 variable[0] = self;
36470 variable[1] = param0;
36471 variable[3] = NIT_NULL /*null*/;
36472 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36473 variable[4] = variable[5];
36474 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36475 variable[5] = variable[6];
36476 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36477 variable[6] = variable[7];
36478 variable[7] = variable[5] /*nodearraylist1*/;
36479 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36480 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction637___action, LOCATE_parser, 19855); nit_exit(1);}
36481 variable[8] = variable[4] /*nodearraylist2*/;
36482 variable[9] = TAG_Bool(( variable[8] /*pparamnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pparamnode2*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
36483 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction637___action, LOCATE_parser, 19857); nit_exit(1);}
36484 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36485 if (UNTAG_Bool(variable[9])) { /*if*/
36486 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
36487 if (UNTAG_Bool(variable[9])) { /*if*/
36488 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
36489 } else { /*if*/
36490 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
36491 }
36492 }
36493 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*pparamnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*pparamnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*pparamnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*pparamnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*pparamnode2*/)( variable[8] /*pparamnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36494 if (UNTAG_Bool(variable[9])) { /*if*/
36495 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*pparamnode2*/) /*AbstractArray::add*/;
36496 }
36497 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
36498 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(128)) /*Parser::go_to*/;
36499 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
36500 return_label1306: while(false);
36501 tracehead = trace.prev;
36502 return;
36503 }
36504 void parser___ReduceAction637___init(val_t self, int* init_table) {
36505 struct trace_t trace = {NULL, NULL, 19871, LOCATE_parser___ReduceAction637___init};
36506 val_t variable[2];
36507 void **closurevariable = NULL;
36508 trace.prev = tracehead; tracehead = &trace;
36509 trace.file = LOCATE_parser;
36510 variable[0] = self;
36511 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction637].i]) return;
36512 return_label1307: while(false);
36513 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction637].i] = 1;
36514 tracehead = trace.prev;
36515 return;
36516 }
36517 void parser___ReduceAction638___action(val_t self, val_t param0) {
36518 struct trace_t trace = {NULL, NULL, 19875, LOCATE_parser___ReduceAction638___action};
36519 val_t variable[8];
36520 void **closurevariable = NULL;
36521 trace.prev = tracehead; tracehead = &trace;
36522 trace.file = LOCATE_parser;
36523 variable[0] = self;
36524 variable[1] = param0;
36525 variable[3] = NIT_NULL /*null*/;
36526 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36527 variable[4] = variable[5];
36528 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36529 variable[5] = variable[6];
36530 variable[6] = variable[4] /*nodearraylist1*/;
36531 variable[7] = TAG_Bool(( variable[6] /*pclosuredeclnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pclosuredeclnode1*/, COLOR_PClosureDecl, ID_PClosureDecl)) /*cast PClosureDecl*/;
36532 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction638___action, LOCATE_parser, 19881); nit_exit(1);}
36533 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*pclosuredeclnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*pclosuredeclnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*pclosuredeclnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*pclosuredeclnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*pclosuredeclnode1*/)( variable[6] /*pclosuredeclnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36534 if (UNTAG_Bool(variable[7])) { /*if*/
36535 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*pclosuredeclnode1*/) /*AbstractArray::add*/;
36536 }
36537 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
36538 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(129)) /*Parser::go_to*/;
36539 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
36540 return_label1308: while(false);
36541 tracehead = trace.prev;
36542 return;
36543 }
36544 void parser___ReduceAction638___init(val_t self, int* init_table) {
36545 struct trace_t trace = {NULL, NULL, 19888, LOCATE_parser___ReduceAction638___init};
36546 val_t variable[2];
36547 void **closurevariable = NULL;
36548 trace.prev = tracehead; tracehead = &trace;
36549 trace.file = LOCATE_parser;
36550 variable[0] = self;
36551 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction638].i]) return;
36552 return_label1309: while(false);
36553 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction638].i] = 1;
36554 tracehead = trace.prev;
36555 return;
36556 }
36557 void parser___ReduceAction639___action(val_t self, val_t param0) {
36558 struct trace_t trace = {NULL, NULL, 19892, LOCATE_parser___ReduceAction639___action};
36559 val_t variable[10];
36560 void **closurevariable = NULL;
36561 trace.prev = tracehead; tracehead = &trace;
36562 trace.file = LOCATE_parser;
36563 variable[0] = self;
36564 variable[1] = param0;
36565 variable[3] = NIT_NULL /*null*/;
36566 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36567 variable[4] = variable[5];
36568 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36569 variable[5] = variable[6];
36570 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36571 variable[6] = variable[7];
36572 variable[7] = variable[5] /*nodearraylist1*/;
36573 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36574 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction639___action, LOCATE_parser, 19899); nit_exit(1);}
36575 variable[8] = variable[4] /*nodearraylist2*/;
36576 variable[9] = TAG_Bool(( variable[8] /*pclosuredeclnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pclosuredeclnode2*/, COLOR_PClosureDecl, ID_PClosureDecl)) /*cast PClosureDecl*/;
36577 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction639___action, LOCATE_parser, 19901); nit_exit(1);}
36578 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36579 if (UNTAG_Bool(variable[9])) { /*if*/
36580 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
36581 if (UNTAG_Bool(variable[9])) { /*if*/
36582 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
36583 } else { /*if*/
36584 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
36585 }
36586 }
36587 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*pclosuredeclnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*pclosuredeclnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*pclosuredeclnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*pclosuredeclnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*pclosuredeclnode2*/)( variable[8] /*pclosuredeclnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36588 if (UNTAG_Bool(variable[9])) { /*if*/
36589 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*pclosuredeclnode2*/) /*AbstractArray::add*/;
36590 }
36591 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
36592 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(129)) /*Parser::go_to*/;
36593 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
36594 return_label1310: while(false);
36595 tracehead = trace.prev;
36596 return;
36597 }
36598 void parser___ReduceAction639___init(val_t self, int* init_table) {
36599 struct trace_t trace = {NULL, NULL, 19915, LOCATE_parser___ReduceAction639___init};
36600 val_t variable[2];
36601 void **closurevariable = NULL;
36602 trace.prev = tracehead; tracehead = &trace;
36603 trace.file = LOCATE_parser;
36604 variable[0] = self;
36605 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction639].i]) return;
36606 return_label1311: while(false);
36607 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction639].i] = 1;
36608 tracehead = trace.prev;
36609 return;
36610 }
36611 void parser___ReduceAction640___action(val_t self, val_t param0) {
36612 struct trace_t trace = {NULL, NULL, 19919, LOCATE_parser___ReduceAction640___action};
36613 val_t variable[8];
36614 void **closurevariable = NULL;
36615 trace.prev = tracehead; tracehead = &trace;
36616 trace.file = LOCATE_parser;
36617 variable[0] = self;
36618 variable[1] = param0;
36619 variable[3] = NIT_NULL /*null*/;
36620 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36621 variable[4] = variable[5];
36622 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36623 variable[5] = variable[6];
36624 variable[6] = variable[4] /*nodearraylist1*/;
36625 variable[7] = TAG_Bool(( variable[6] /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable[6] /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
36626 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction640___action, LOCATE_parser, 19925); nit_exit(1);}
36627 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*ptypenode1*/ == NIT_NULL /*null*/) || (( variable[6] /*ptypenode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*ptypenode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*ptypenode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*ptypenode1*/)( variable[6] /*ptypenode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36628 if (UNTAG_Bool(variable[7])) { /*if*/
36629 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*ptypenode1*/) /*AbstractArray::add*/;
36630 }
36631 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
36632 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(130)) /*Parser::go_to*/;
36633 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
36634 return_label1312: while(false);
36635 tracehead = trace.prev;
36636 return;
36637 }
36638 void parser___ReduceAction640___init(val_t self, int* init_table) {
36639 struct trace_t trace = {NULL, NULL, 19932, LOCATE_parser___ReduceAction640___init};
36640 val_t variable[2];
36641 void **closurevariable = NULL;
36642 trace.prev = tracehead; tracehead = &trace;
36643 trace.file = LOCATE_parser;
36644 variable[0] = self;
36645 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction640].i]) return;
36646 return_label1313: while(false);
36647 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction640].i] = 1;
36648 tracehead = trace.prev;
36649 return;
36650 }
36651 void parser___ReduceAction641___action(val_t self, val_t param0) {
36652 struct trace_t trace = {NULL, NULL, 19936, LOCATE_parser___ReduceAction641___action};
36653 val_t variable[10];
36654 void **closurevariable = NULL;
36655 trace.prev = tracehead; tracehead = &trace;
36656 trace.file = LOCATE_parser;
36657 variable[0] = self;
36658 variable[1] = param0;
36659 variable[3] = NIT_NULL /*null*/;
36660 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36661 variable[4] = variable[5];
36662 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36663 variable[5] = variable[6];
36664 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36665 variable[6] = variable[7];
36666 variable[7] = variable[5] /*nodearraylist1*/;
36667 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36668 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction641___action, LOCATE_parser, 19943); nit_exit(1);}
36669 variable[8] = variable[4] /*nodearraylist2*/;
36670 variable[9] = TAG_Bool(( variable[8] /*ptypenode2*/==NIT_NULL) || VAL_ISA( variable[8] /*ptypenode2*/, COLOR_PType, ID_PType)) /*cast PType*/;
36671 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction641___action, LOCATE_parser, 19945); nit_exit(1);}
36672 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36673 if (UNTAG_Bool(variable[9])) { /*if*/
36674 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
36675 if (UNTAG_Bool(variable[9])) { /*if*/
36676 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
36677 } else { /*if*/
36678 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
36679 }
36680 }
36681 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*ptypenode2*/ == NIT_NULL /*null*/) || (( variable[8] /*ptypenode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*ptypenode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*ptypenode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*ptypenode2*/)( variable[8] /*ptypenode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36682 if (UNTAG_Bool(variable[9])) { /*if*/
36683 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*ptypenode2*/) /*AbstractArray::add*/;
36684 }
36685 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
36686 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(130)) /*Parser::go_to*/;
36687 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
36688 return_label1314: while(false);
36689 tracehead = trace.prev;
36690 return;
36691 }
36692 void parser___ReduceAction641___init(val_t self, int* init_table) {
36693 struct trace_t trace = {NULL, NULL, 19959, LOCATE_parser___ReduceAction641___init};
36694 val_t variable[2];
36695 void **closurevariable = NULL;
36696 trace.prev = tracehead; tracehead = &trace;
36697 trace.file = LOCATE_parser;
36698 variable[0] = self;
36699 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction641].i]) return;
36700 return_label1315: while(false);
36701 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction641].i] = 1;
36702 tracehead = trace.prev;
36703 return;
36704 }
36705 void parser___ReduceAction642___action(val_t self, val_t param0) {
36706 struct trace_t trace = {NULL, NULL, 19963, LOCATE_parser___ReduceAction642___action};
36707 val_t variable[8];
36708 void **closurevariable = NULL;
36709 trace.prev = tracehead; tracehead = &trace;
36710 trace.file = LOCATE_parser;
36711 variable[0] = self;
36712 variable[1] = param0;
36713 variable[3] = NIT_NULL /*null*/;
36714 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36715 variable[4] = variable[5];
36716 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36717 variable[5] = variable[6];
36718 variable[6] = variable[4] /*nodearraylist1*/;
36719 variable[7] = TAG_Bool(( variable[6] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36720 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction642___action, LOCATE_parser, 19969); nit_exit(1);}
36721 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*pexprnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*pexprnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*pexprnode1*/)( variable[6] /*pexprnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36722 if (UNTAG_Bool(variable[7])) { /*if*/
36723 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*pexprnode1*/) /*AbstractArray::add*/;
36724 }
36725 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
36726 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(131)) /*Parser::go_to*/;
36727 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
36728 return_label1316: while(false);
36729 tracehead = trace.prev;
36730 return;
36731 }
36732 void parser___ReduceAction642___init(val_t self, int* init_table) {
36733 struct trace_t trace = {NULL, NULL, 19976, LOCATE_parser___ReduceAction642___init};
36734 val_t variable[2];
36735 void **closurevariable = NULL;
36736 trace.prev = tracehead; tracehead = &trace;
36737 trace.file = LOCATE_parser;
36738 variable[0] = self;
36739 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction642].i]) return;
36740 return_label1317: while(false);
36741 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction642].i] = 1;
36742 tracehead = trace.prev;
36743 return;
36744 }
36745 void parser___ReduceAction643___action(val_t self, val_t param0) {
36746 struct trace_t trace = {NULL, NULL, 19980, LOCATE_parser___ReduceAction643___action};
36747 val_t variable[10];
36748 void **closurevariable = NULL;
36749 trace.prev = tracehead; tracehead = &trace;
36750 trace.file = LOCATE_parser;
36751 variable[0] = self;
36752 variable[1] = param0;
36753 variable[3] = NIT_NULL /*null*/;
36754 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36755 variable[4] = variable[5];
36756 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36757 variable[5] = variable[6];
36758 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36759 variable[6] = variable[7];
36760 variable[7] = variable[5] /*nodearraylist1*/;
36761 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36762 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction643___action, LOCATE_parser, 19987); nit_exit(1);}
36763 variable[8] = variable[4] /*nodearraylist2*/;
36764 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36765 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction643___action, LOCATE_parser, 19989); nit_exit(1);}
36766 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36767 if (UNTAG_Bool(variable[9])) { /*if*/
36768 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
36769 if (UNTAG_Bool(variable[9])) { /*if*/
36770 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
36771 } else { /*if*/
36772 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
36773 }
36774 }
36775 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*pexprnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*pexprnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*pexprnode2*/)( variable[8] /*pexprnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36776 if (UNTAG_Bool(variable[9])) { /*if*/
36777 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*pexprnode2*/) /*AbstractArray::add*/;
36778 }
36779 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
36780 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(131)) /*Parser::go_to*/;
36781 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
36782 return_label1318: while(false);
36783 tracehead = trace.prev;
36784 return;
36785 }
36786 void parser___ReduceAction643___init(val_t self, int* init_table) {
36787 struct trace_t trace = {NULL, NULL, 20003, LOCATE_parser___ReduceAction643___init};
36788 val_t variable[2];
36789 void **closurevariable = NULL;
36790 trace.prev = tracehead; tracehead = &trace;
36791 trace.file = LOCATE_parser;
36792 variable[0] = self;
36793 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction643].i]) return;
36794 return_label1319: while(false);
36795 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction643].i] = 1;
36796 tracehead = trace.prev;
36797 return;
36798 }
36799 void parser___ReduceAction644___action(val_t self, val_t param0) {
36800 struct trace_t trace = {NULL, NULL, 20007, LOCATE_parser___ReduceAction644___action};
36801 val_t variable[8];
36802 void **closurevariable = NULL;
36803 trace.prev = tracehead; tracehead = &trace;
36804 trace.file = LOCATE_parser;
36805 variable[0] = self;
36806 variable[1] = param0;
36807 variable[3] = NIT_NULL /*null*/;
36808 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36809 variable[4] = variable[5];
36810 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36811 variable[5] = variable[6];
36812 variable[6] = variable[4] /*nodearraylist1*/;
36813 variable[7] = TAG_Bool(( variable[6] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36814 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction644___action, LOCATE_parser, 20013); nit_exit(1);}
36815 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*listnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*listnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*listnode1*/)( variable[6] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36816 if (UNTAG_Bool(variable[7])) { /*if*/
36817 variable[7] = CALL_abstract_collection___Collection___is_empty( variable[5] /*listnode2*/)( variable[5] /*listnode2*/) /*AbstractArray::is_empty*/;
36818 if (UNTAG_Bool(variable[7])) { /*if*/
36819 variable[5] = variable[6] /*listnode1*/ /*listnode2=*/;
36820 } else { /*if*/
36821 CALL_abstract_collection___IndexedCollection___append( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*listnode1*/) /*IndexedCollection::append*/;
36822 }
36823 }
36824 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
36825 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(132)) /*Parser::go_to*/;
36826 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
36827 return_label1320: while(false);
36828 tracehead = trace.prev;
36829 return;
36830 }
36831 void parser___ReduceAction644___init(val_t self, int* init_table) {
36832 struct trace_t trace = {NULL, NULL, 20024, LOCATE_parser___ReduceAction644___init};
36833 val_t variable[2];
36834 void **closurevariable = NULL;
36835 trace.prev = tracehead; tracehead = &trace;
36836 trace.file = LOCATE_parser;
36837 variable[0] = self;
36838 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction644].i]) return;
36839 return_label1321: while(false);
36840 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction644].i] = 1;
36841 tracehead = trace.prev;
36842 return;
36843 }
36844 void parser___ReduceAction645___action(val_t self, val_t param0) {
36845 struct trace_t trace = {NULL, NULL, 20028, LOCATE_parser___ReduceAction645___action};
36846 val_t variable[10];
36847 void **closurevariable = NULL;
36848 trace.prev = tracehead; tracehead = &trace;
36849 trace.file = LOCATE_parser;
36850 variable[0] = self;
36851 variable[1] = param0;
36852 variable[3] = NIT_NULL /*null*/;
36853 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36854 variable[4] = variable[5];
36855 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36856 variable[5] = variable[6];
36857 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36858 variable[6] = variable[7];
36859 variable[7] = variable[5] /*nodearraylist1*/;
36860 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36861 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction645___action, LOCATE_parser, 20035); nit_exit(1);}
36862 variable[8] = variable[4] /*nodearraylist2*/;
36863 variable[9] = TAG_Bool(( variable[8] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36864 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction645___action, LOCATE_parser, 20037); nit_exit(1);}
36865 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36866 if (UNTAG_Bool(variable[9])) { /*if*/
36867 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
36868 if (UNTAG_Bool(variable[9])) { /*if*/
36869 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
36870 } else { /*if*/
36871 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
36872 }
36873 }
36874 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*listnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*listnode2*/)( variable[8] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36875 if (UNTAG_Bool(variable[9])) { /*if*/
36876 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
36877 if (UNTAG_Bool(variable[9])) { /*if*/
36878 variable[6] = variable[8] /*listnode2*/ /*listnode3=*/;
36879 } else { /*if*/
36880 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*listnode2*/) /*IndexedCollection::append*/;
36881 }
36882 }
36883 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
36884 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(132)) /*Parser::go_to*/;
36885 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
36886 return_label1322: while(false);
36887 tracehead = trace.prev;
36888 return;
36889 }
36890 void parser___ReduceAction645___init(val_t self, int* init_table) {
36891 struct trace_t trace = {NULL, NULL, 20055, LOCATE_parser___ReduceAction645___init};
36892 val_t variable[2];
36893 void **closurevariable = NULL;
36894 trace.prev = tracehead; tracehead = &trace;
36895 trace.file = LOCATE_parser;
36896 variable[0] = self;
36897 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction645].i]) return;
36898 return_label1323: while(false);
36899 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction645].i] = 1;
36900 tracehead = trace.prev;
36901 return;
36902 }
36903 void parser___ReduceAction646___action(val_t self, val_t param0) {
36904 struct trace_t trace = {NULL, NULL, 20059, LOCATE_parser___ReduceAction646___action};
36905 val_t variable[8];
36906 void **closurevariable = NULL;
36907 trace.prev = tracehead; tracehead = &trace;
36908 trace.file = LOCATE_parser;
36909 variable[0] = self;
36910 variable[1] = param0;
36911 variable[3] = NIT_NULL /*null*/;
36912 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36913 variable[4] = variable[5];
36914 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36915 variable[5] = variable[6];
36916 variable[6] = variable[4] /*nodearraylist1*/;
36917 variable[7] = TAG_Bool(( variable[6] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36918 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction646___action, LOCATE_parser, 20065); nit_exit(1);}
36919 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*pexprnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*pexprnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*pexprnode1*/)( variable[6] /*pexprnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36920 if (UNTAG_Bool(variable[7])) { /*if*/
36921 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*pexprnode1*/) /*AbstractArray::add*/;
36922 }
36923 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
36924 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(133)) /*Parser::go_to*/;
36925 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
36926 return_label1324: while(false);
36927 tracehead = trace.prev;
36928 return;
36929 }
36930 void parser___ReduceAction646___init(val_t self, int* init_table) {
36931 struct trace_t trace = {NULL, NULL, 20072, LOCATE_parser___ReduceAction646___init};
36932 val_t variable[2];
36933 void **closurevariable = NULL;
36934 trace.prev = tracehead; tracehead = &trace;
36935 trace.file = LOCATE_parser;
36936 variable[0] = self;
36937 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction646].i]) return;
36938 return_label1325: while(false);
36939 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction646].i] = 1;
36940 tracehead = trace.prev;
36941 return;
36942 }
36943 void parser___ReduceAction647___action(val_t self, val_t param0) {
36944 struct trace_t trace = {NULL, NULL, 20076, LOCATE_parser___ReduceAction647___action};
36945 val_t variable[10];
36946 void **closurevariable = NULL;
36947 trace.prev = tracehead; tracehead = &trace;
36948 trace.file = LOCATE_parser;
36949 variable[0] = self;
36950 variable[1] = param0;
36951 variable[3] = NIT_NULL /*null*/;
36952 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36953 variable[4] = variable[5];
36954 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36955 variable[5] = variable[6];
36956 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36957 variable[6] = variable[7];
36958 variable[7] = variable[5] /*nodearraylist1*/;
36959 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36960 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction647___action, LOCATE_parser, 20083); nit_exit(1);}
36961 variable[8] = variable[4] /*nodearraylist2*/;
36962 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36963 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction647___action, LOCATE_parser, 20085); nit_exit(1);}
36964 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36965 if (UNTAG_Bool(variable[9])) { /*if*/
36966 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
36967 if (UNTAG_Bool(variable[9])) { /*if*/
36968 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
36969 } else { /*if*/
36970 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
36971 }
36972 }
36973 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*pexprnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*pexprnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*pexprnode2*/)( variable[8] /*pexprnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36974 if (UNTAG_Bool(variable[9])) { /*if*/
36975 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*pexprnode2*/) /*AbstractArray::add*/;
36976 }
36977 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
36978 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(133)) /*Parser::go_to*/;
36979 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
36980 return_label1326: while(false);
36981 tracehead = trace.prev;
36982 return;
36983 }
36984 void parser___ReduceAction647___init(val_t self, int* init_table) {
36985 struct trace_t trace = {NULL, NULL, 20099, LOCATE_parser___ReduceAction647___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(variable[0])->vft[INIT_TABLE_POS_ReduceAction647].i]) return;
36992 return_label1327: while(false);
36993 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction647].i] = 1;
36994 tracehead = trace.prev;
36995 return;
36996 }
36997 void parser___ReduceAction648___action(val_t self, val_t param0) {
36998 struct trace_t trace = {NULL, NULL, 20103, LOCATE_parser___ReduceAction648___action};
36999 val_t variable[8];
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] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37007 variable[4] = variable[5];
37008 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
37009 variable[5] = variable[6];
37010 variable[6] = variable[4] /*nodearraylist1*/;
37011 variable[7] = TAG_Bool(( variable[6] /*tidnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*tidnode1*/, COLOR_TId, ID_TId)) /*cast TId*/;
37012 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction648___action, LOCATE_parser, 20109); nit_exit(1);}
37013 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*tidnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*tidnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*tidnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*tidnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*tidnode1*/)( variable[6] /*tidnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
37014 if (UNTAG_Bool(variable[7])) { /*if*/
37015 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*tidnode1*/) /*AbstractArray::add*/;
37016 }
37017 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
37018 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(134)) /*Parser::go_to*/;
37019 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
37020 return_label1328: while(false);
37021 tracehead = trace.prev;
37022 return;
37023 }
37024 void parser___ReduceAction648___init(val_t self, int* init_table) {
37025 struct trace_t trace = {NULL, NULL, 20116, LOCATE_parser___ReduceAction648___init};
37026 val_t variable[2];
37027 void **closurevariable = NULL;
37028 trace.prev = tracehead; tracehead = &trace;
37029 trace.file = LOCATE_parser;
37030 variable[0] = self;
37031 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction648].i]) return;
37032 return_label1329: while(false);
37033 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction648].i] = 1;
37034 tracehead = trace.prev;
37035 return;
37036 }
37037 void parser___ReduceAction649___action(val_t self, val_t param0) {
37038 struct trace_t trace = {NULL, NULL, 20120, LOCATE_parser___ReduceAction649___action};
37039 val_t variable[10];
37040 void **closurevariable = NULL;
37041 trace.prev = tracehead; tracehead = &trace;
37042 trace.file = LOCATE_parser;
37043 variable[0] = self;
37044 variable[1] = param0;
37045 variable[3] = NIT_NULL /*null*/;
37046 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37047 variable[4] = variable[5];
37048 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37049 variable[5] = variable[6];
37050 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
37051 variable[6] = variable[7];
37052 variable[7] = variable[5] /*nodearraylist1*/;
37053 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
37054 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction649___action, LOCATE_parser, 20127); nit_exit(1);}
37055 variable[8] = variable[4] /*nodearraylist2*/;
37056 variable[9] = TAG_Bool(( variable[8] /*tidnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
37057 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction649___action, LOCATE_parser, 20129); nit_exit(1);}
37058 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
37059 if (UNTAG_Bool(variable[9])) { /*if*/
37060 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
37061 if (UNTAG_Bool(variable[9])) { /*if*/
37062 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
37063 } else { /*if*/
37064 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
37065 }
37066 }
37067 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*tidnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*tidnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*tidnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*tidnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*tidnode2*/)( variable[8] /*tidnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
37068 if (UNTAG_Bool(variable[9])) { /*if*/
37069 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*tidnode2*/) /*AbstractArray::add*/;
37070 }
37071 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
37072 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(134)) /*Parser::go_to*/;
37073 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
37074 return_label1330: while(false);
37075 tracehead = trace.prev;
37076 return;
37077 }
37078 void parser___ReduceAction649___init(val_t self, int* init_table) {
37079 struct trace_t trace = {NULL, NULL, 20143, LOCATE_parser___ReduceAction649___init};
37080 val_t variable[2];
37081 void **closurevariable = NULL;
37082 trace.prev = tracehead; tracehead = &trace;
37083 trace.file = LOCATE_parser;
37084 variable[0] = self;
37085 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction649].i]) return;
37086 return_label1331: while(false);
37087 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction649].i] = 1;
37088 tracehead = trace.prev;
37089 return;
37090 }
37091 void parser___ReduceAction650___action(val_t self, val_t param0) {
37092 struct trace_t trace = {NULL, NULL, 20147, LOCATE_parser___ReduceAction650___action};
37093 val_t variable[8];
37094 void **closurevariable = NULL;
37095 trace.prev = tracehead; tracehead = &trace;
37096 trace.file = LOCATE_parser;
37097 variable[0] = self;
37098 variable[1] = param0;
37099 variable[3] = NIT_NULL /*null*/;
37100 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37101 variable[4] = variable[5];
37102 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
37103 variable[5] = variable[6];
37104 variable[6] = variable[4] /*nodearraylist1*/;
37105 variable[7] = TAG_Bool(( variable[6] /*tcommentnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*tcommentnode1*/, COLOR_TComment, ID_TComment)) /*cast TComment*/;
37106 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction650___action, LOCATE_parser, 20153); nit_exit(1);}
37107 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*tcommentnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*tcommentnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*tcommentnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*tcommentnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*tcommentnode1*/)( variable[6] /*tcommentnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
37108 if (UNTAG_Bool(variable[7])) { /*if*/
37109 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*tcommentnode1*/) /*AbstractArray::add*/;
37110 }
37111 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
37112 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(135)) /*Parser::go_to*/;
37113 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
37114 return_label1332: while(false);
37115 tracehead = trace.prev;
37116 return;
37117 }
37118 void parser___ReduceAction650___init(val_t self, int* init_table) {
37119 struct trace_t trace = {NULL, NULL, 20160, LOCATE_parser___ReduceAction650___init};
37120 val_t variable[2];
37121 void **closurevariable = NULL;
37122 trace.prev = tracehead; tracehead = &trace;
37123 trace.file = LOCATE_parser;
37124 variable[0] = self;
37125 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction650].i]) return;
37126 return_label1333: while(false);
37127 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction650].i] = 1;
37128 tracehead = trace.prev;
37129 return;
37130 }
37131 void parser___ReduceAction651___action(val_t self, val_t param0) {
37132 struct trace_t trace = {NULL, NULL, 20164, LOCATE_parser___ReduceAction651___action};
37133 val_t variable[10];
37134 void **closurevariable = NULL;
37135 trace.prev = tracehead; tracehead = &trace;
37136 trace.file = LOCATE_parser;
37137 variable[0] = self;
37138 variable[1] = param0;
37139 variable[3] = NIT_NULL /*null*/;
37140 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37141 variable[4] = variable[5];
37142 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37143 variable[5] = variable[6];
37144 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
37145 variable[6] = variable[7];
37146 variable[7] = variable[5] /*nodearraylist1*/;
37147 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
37148 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction651___action, LOCATE_parser, 20171); nit_exit(1);}
37149 variable[8] = variable[4] /*nodearraylist2*/;
37150 variable[9] = TAG_Bool(( variable[8] /*tcommentnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*tcommentnode2*/, COLOR_TComment, ID_TComment)) /*cast TComment*/;
37151 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction651___action, LOCATE_parser, 20173); nit_exit(1);}
37152 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
37153 if (UNTAG_Bool(variable[9])) { /*if*/
37154 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
37155 if (UNTAG_Bool(variable[9])) { /*if*/
37156 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
37157 } else { /*if*/
37158 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
37159 }
37160 }
37161 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*tcommentnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*tcommentnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*tcommentnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*tcommentnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*tcommentnode2*/)( variable[8] /*tcommentnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
37162 if (UNTAG_Bool(variable[9])) { /*if*/
37163 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*tcommentnode2*/) /*AbstractArray::add*/;
37164 }
37165 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
37166 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(135)) /*Parser::go_to*/;
37167 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
37168 return_label1334: while(false);
37169 tracehead = trace.prev;
37170 return;
37171 }
37172 void parser___ReduceAction651___init(val_t self, int* init_table) {
37173 struct trace_t trace = {NULL, NULL, 20187, LOCATE_parser___ReduceAction651___init};
37174 val_t variable[2];
37175 void **closurevariable = NULL;
37176 trace.prev = tracehead; tracehead = &trace;
37177 trace.file = LOCATE_parser;
37178 variable[0] = self;
37179 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction651].i]) return;
37180 return_label1335: while(false);
37181 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction651].i] = 1;
37182 tracehead = trace.prev;
37183 return;
37184 }
37185 void parser___ReduceAction652___action(val_t self, val_t param0) {
37186 struct trace_t trace = {NULL, NULL, 20191, LOCATE_parser___ReduceAction652___action};
37187 val_t variable[8];
37188 void **closurevariable = NULL;
37189 trace.prev = tracehead; tracehead = &trace;
37190 trace.file = LOCATE_parser;
37191 variable[0] = self;
37192 variable[1] = param0;
37193 variable[3] = NIT_NULL /*null*/;
37194 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37195 variable[4] = variable[5];
37196 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
37197 variable[5] = variable[6];
37198 variable[6] = variable[4] /*nodearraylist1*/;
37199 variable[7] = TAG_Bool(( variable[6] /*teolnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*teolnode1*/, COLOR_TEol, ID_TEol)) /*cast TEol*/;
37200 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction652___action, LOCATE_parser, 20197); nit_exit(1);}
37201 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*teolnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*teolnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*teolnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*teolnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*teolnode1*/)( variable[6] /*teolnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
37202 if (UNTAG_Bool(variable[7])) { /*if*/
37203 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*teolnode1*/) /*AbstractArray::add*/;
37204 }
37205 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
37206 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(136)) /*Parser::go_to*/;
37207 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
37208 return_label1336: while(false);
37209 tracehead = trace.prev;
37210 return;
37211 }
37212 void parser___ReduceAction652___init(val_t self, int* init_table) {
37213 struct trace_t trace = {NULL, NULL, 20204, LOCATE_parser___ReduceAction652___init};
37214 val_t variable[2];
37215 void **closurevariable = NULL;
37216 trace.prev = tracehead; tracehead = &trace;
37217 trace.file = LOCATE_parser;
37218 variable[0] = self;
37219 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction652].i]) return;
37220 return_label1337: while(false);
37221 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction652].i] = 1;
37222 tracehead = trace.prev;
37223 return;
37224 }
37225 void parser___ReduceAction653___action(val_t self, val_t param0) {
37226 struct trace_t trace = {NULL, NULL, 20208, LOCATE_parser___ReduceAction653___action};
37227 val_t variable[10];
37228 void **closurevariable = NULL;
37229 trace.prev = tracehead; tracehead = &trace;
37230 trace.file = LOCATE_parser;
37231 variable[0] = self;
37232 variable[1] = param0;
37233 variable[3] = NIT_NULL /*null*/;
37234 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37235 variable[4] = variable[5];
37236 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37237 variable[5] = variable[6];
37238 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
37239 variable[6] = variable[7];
37240 variable[7] = variable[5] /*nodearraylist1*/;
37241 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
37242 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction653___action, LOCATE_parser, 20215); nit_exit(1);}
37243 variable[8] = variable[4] /*nodearraylist2*/;
37244 variable[9] = TAG_Bool(( variable[8] /*teolnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*teolnode2*/, COLOR_TEol, ID_TEol)) /*cast TEol*/;
37245 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction653___action, LOCATE_parser, 20217); nit_exit(1);}
37246 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*listnode1*/)( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
37247 if (UNTAG_Bool(variable[9])) { /*if*/
37248 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
37249 if (UNTAG_Bool(variable[9])) { /*if*/
37250 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
37251 } else { /*if*/
37252 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
37253 }
37254 }
37255 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*teolnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*teolnode2*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*teolnode2*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*teolnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*teolnode2*/)( variable[8] /*teolnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
37256 if (UNTAG_Bool(variable[9])) { /*if*/
37257 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*teolnode2*/) /*AbstractArray::add*/;
37258 }
37259 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
37260 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(136)) /*Parser::go_to*/;
37261 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
37262 return_label1338: while(false);
37263 tracehead = trace.prev;
37264 return;
37265 }
37266 void parser___ReduceAction653___init(val_t self, int* init_table) {
37267 struct trace_t trace = {NULL, NULL, 20231, LOCATE_parser___ReduceAction653___init};
37268 val_t variable[2];
37269 void **closurevariable = NULL;
37270 trace.prev = tracehead; tracehead = &trace;
37271 trace.file = LOCATE_parser;
37272 variable[0] = self;
37273 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction653].i]) return;
37274 return_label1339: while(false);
37275 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction653].i] = 1;
37276 tracehead = trace.prev;
37277 return;
37278 }